线程通信与进程通信的区别 – 笑哼

每个行动忍受都有本人的地址消失。。这两个行动忍受做成某事地址甚至是一样的值。,实践的忍受是有区别的的。。行动忍受间通信通常是经过公共区域O举行的。。
相同行动忍受做成某事线程属于相同地址消失。,可当前的通信。
不光本体在体系内孤独运转。,和每一孤独竞赛的本体。。
线程也称为轻量级行动忍受。,相同行动忍受的线程共享全程变量和内存。,在线程中间共享知识是手巧的和手巧的的。,不管到什么程度它到达了某一共享知识的所有权成绩。。
为了提高效率,徐还写作了线程。。
爷儿俩颠换的排出是非常奇特的奢侈的。,爷儿俩沟经颠换需求IPC或宁静方法,更打扰。线程的创立本钱要低得多。,并与大局仓库区域共享相同行动忍受做成某事线程。,因而交流手巧的。。
线程的错误也由它们的优点理由的。,首要是使时间互相一致。,异步互斥成绩,应用连续得心细设计。。

只需求行动忍受间通信。,线程共享地址消失用于相同行动忍受,何苦举行交流。,不管到什么程度我们家需求做使时间互相一致/互斥互斥。,进行辩护共享全程变量。线程有本人的堆栈。。使时间互相一致/互斥是基元基元。
行动忍受间通信是一种射击。,管道或共享内存由伪造体系使获得。,它是体系祈求救助。

线程间通信:因多线索共享地址消失和知识消失,因而多线索中间的通信是每一知识线程。,而不是经过伪造体系(即内核调整)。

行动忍受中间的通信是有区别的的。,它的知识消失的孤独性决议了它的通信是Rela。,需求经过伪造体系。。先进中间的沟通可是是孤独的。,如今伪造体系增加了行动忍受间通信机制。。故此,行动忍受中间的通信不限于单飞计算器。,获得了方法通信。。

一、行动忍受间通信模特儿
# 管道( pipe ):渠道是半转接通信模特儿。,知识可是在每一忍受进行。,可是在亲属中间应用。。每一颠换的家庭相干通常是指创造A中间的相干。。
# 知名管道 (namedpipe) : 命名管道也半转接通信模特儿。,但它容许无干行动忍受中间的通信。。
# 射击量(semophore ) : 射击量是每一反击。,它可以用来把持多个行动忍受对公用资源的拜访。。它常被用作锁定机构。,撤销行动忍受拜访公用资源,宁静行动忍受也拜访资源。。故此,它首要用作行动忍受和有区别的行动忍受中间的使时间互相一致器。。
# 音讯队列( MasaGeigeUE ) : 音讯队列是音讯的链表。,仓库在内核中并由音讯队列编号身份证明。。音讯队列克复了较少的的通信转乘。、管道可是承载体式八位位组流和限度局限。
# 射击 (无) ) : 射击是一种更为复杂的通信方法。,用于关照收执行动忍受产生的事变。。
# 共享内存(共享) memory ) :共享内存在测绘可由宁静行动忍受拜访的内存。,这么共享内存是由行动忍受创立的。,不管到什么程度可以拜访多个行动忍受。。共享内存是感光快的的。 IPC 方法,它是特意为宁静行动忍受间通信的低效率而设计的。。它通常与宁静通信机制中间定位联。,如射击二,相配应用,获得行动忍受间的使时间互相一致和通信。。
# 插座(插座) ) : 左舷也一种行动忍受间通信机制。,与宁静通信机制有区别的,,它可以用于有区别的的行动忍受间通信。。

二、线程间通信

# 锁机制:包含单独的锁、条款变量、读写锁
守护互斥体补充了一种撤销知识结构在EX中被修正的方法。。
读写锁容许多个线程在相同时间读取和共享知识。,写伪造是互斥的。。
条款变量可以以原子方法闭塞行动忍受。,直到某个条款发现为止。。条款的测量法是在互斥进行辩护下举行的。。条款变量不断地与单独的锁一同应用。。
# 射击量机制(射击量):包含隐姓埋名线程射击量和命名线程射击量。
# 射击机制(射击):行动忍受间的射击处置
线程间通信的挥向首要是线程使时间互相一致。,故此,行动忍受通信中心不在焉知识交流的通信机制。。

发表评论

电子邮件地址不会被公开。 必填项已用*标注