进程间通信-进程间通信有哪些,它们分别有哪些特点、优点和缺点
原创,时间:2023-01-08 11:33:07
关于进程间通信内容导航:
1、进程间通信
2、进程间通信有哪些,它们分别有哪些特点、优点和缺点
您好,进程间通信方式有管道、信号量、信号、消息队列、共享内存、套接字六种。
(1)
不生意连脚十队穿有本管道分为有名管道和无名管道,其中无名管道是一种半双工的通信方式,数据
只能单向流动,而且只能在具有亲缘关系的进程间使用
促课预液,一般用于两个不同进程之间的
地读端质木通信。有名管道也是一种半双工
英略论的通信方式,但它允许无亲
缘关系进程间的通信。(2)信号量是一个计数
钢器,可以用来控制多个线程对共
享资源的访问,它不是用于交换大批数据,而用于多线
些唱绍跟要掌唱过程之间的同步。他常作为一种锁机制。因此,主要作为进程间以
试依业日击及同一个进程内不同线
许形护结各来听坏耐程之间的同步手段
风实换。
(3)信号是一种比较复
对掉证错束晶等杂的通信方式,用于通知
接收进程某个时间已经发生。
(4)消息队列是消息的链表,存放在
受今事教款属房内核中并由消息队列标识符标识,消息队列克服了信号
脚传递信息少,管道只能承载无格式字节流以及缓冲区大小受限等特点。
(5
)共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。他往往与其他通信机
制,如信号量配合使用,来实现进程间的同步和通信。
(6)套接字可用那内束于不同及其间的进程通信。
3、android进程间通信
不可以用于多进程。EventBus貌似就是订阅者模式,而在多进程中,对象是不一致的,需要通过binder才能进行多进程通信,在这方面EventBus不支持,自然就不支持多进程了。
能 这个减低了耦合性 很好用的
前面说了,Subscriber函数的名字只能是那4个,因为每个事件订阅函数都是和一个`ThreadMode`相关联的,ThreadMode指定了会调用的函数。有以下四个ThreadMode:
PostThread:事件的处理在和事件的发送在相同的进程,所以事件处理时间不应太长,不然影响事件的发送线程,而这个线程可能是UI线程。对应的函数名是onEvent。
MainThread: 事件的处理会在UI线程中执行。事件处理时间不能太长,这个不用说的,长了会ANR的,对应的函数名是onEventMainThread。
BackgroundThread:事件的处理会在一个后台线程中执行,对应的函数名是onEventBackgroundThread,虽然名字是BackgroundThread,事件处理是在后台线程,但事件处理时间还是不应该太长,因为如果发送事件的线程是后台线程,会直接执行事件,如果当前线程是UI线程,事件会被加到一个队列中,由一个线程依次处理这些事件,如果某个事件处理时间太长,会阻塞后面的事件的派发或处理。
Async:事件处理会在单独的线程中执行,主要用于在后台线程中执行耗时操作,每个事件会开启一个线程(有线程池),但最好限制线程的数目。
there can be several business events for 1 business event type. this is because the business event is the actual course that takes place,here is an example:the business event type is english language and the business events are:01.12.2004 english expert level08.12.2004 english intermediate leveletc.
行业热门话题:
【进程间通信有哪些,它们分别有哪些特点、优点和缺点】【android进程间通信】【c++进程间通信】【python进程间通信】【qt进程间通信】【electron进程间通信】【进程间通信英文】【进程间通信属于外部数据吗】【进程间通信机制】【进程间通信和线程间通信】