`
hesihua
  • 浏览: 229181 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

进程 线程 区别 和通信方式

 
阅读更多

进程间的通信方式:
(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。  
(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。
命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。  
(3)信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;
linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,
又能够统一对外接口,用sigaction函数重新实现了signal函数)。  
(4)消息(Message)队列:消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程
则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺  
(5)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,
来达到进程间的同步及互斥。  
(6)内存映射(mapped memory):内存映射允许任何多个进程间通信,每一个使用该机制的进程通过把一个共享的文件映射到自己的进程地址空间来实现它。  
(7)信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。  
(8)套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:
Linux和System V的变种都支持套接字。

进程和线程区别和联系
http://blog.csdn.net/alphajay/article/details/3395515
http://topic.csdn.net/t/20001028/10/36900.html
http://289972458.iteye.com/blog/1325189
线程间的通信方式:
http://blog.csdn.net/zdl1016/article/details/3954053
http://luckyapple.iteye.com/blog/297885

分享到:
评论

相关推荐

    进程与线程的区别进程的通信方式线程的通信方式文.pdf

    进程与线程的区别进程的通信方式线程的通信方式文.pdf

    Linux系统中进程和线程的通信方式总结

    本文主要介绍了 Linux系统中进程和线程的通信方式总结 。

    程序,进程,线程解析

    5. 介绍进程的分叉(fork)和线程; 6. 介绍进程之间的通信:管道的概念(两个进程之间的管道通信是要经过内核的); 7. 介绍消息队列:消息队列是内核地址空间中的内部链表,通过内核在各个进程之间传递内容; 8. ...

    操作系统中的进程与线程

    详细的介绍线程与进程的关系,区别以及联系,线程的通讯方式,进程的通讯方式,能够让你彻底的了解进程与线程

    线程间的通信、同步方式与进程间通信方式1

    1、线程间的通信方式 2、线程间的同步方式 2、由 3、进程间通信方式

    C#线程间通信

    采用的是C#的Winform开发,提供了两种线程交互的方式。...第二:采用的是SendMessage和FindWindow的方式来进行和主线程通信。 第三:改写了DefWndProc,使其支持自主事件。 第四:解决FindWindow 查找不到正确的WndID。

    linux上实现多进程和多线程实现同步互斥(源代码)

    在linux上分别用多进程和多线程实现的同步互斥操作(源代码)

    多线程与进程.docx

    对于操作系统来说,一个任务就是一个进程(Process...如果进程间需要传递信息,则需要使用进程间通信或者其他方式,非常 不方便而且消耗CPU时间片段。为了能够更好地支持信息共享和减少切换开销,从进程中演化出了线程。

    【嵌入式软件工程师面经】Linux系统编程(线程进程).pdf

    进程(Process) 进程是一个执行中的程序的实例。...因为线程间共享相同的数据,它们之间的通信可以比进程间通信更方便和高效。但这也意味着必须小心同步操作,避免由于同时访问共享资源引起的竞态条件。

    线程间通信的定义及全局变量的方法

    多进程和多线程是系统执行多任务机制的重要手段,多任务同时进行自然少不了相互之间的通信工作。下面先将线程间的通信方式总结一下,便于大家对比学习。

    作业2:进程和线程的比较1

    线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,但是每个线程拥有自己的栈段,而进程之间的通信需要以通信的方式进行。进程是具有一定独立功能的程

    Linux进程和线程的基本编程、通讯和例程1

    设计模式 POSIX多线程程序设计(第4章:使用线程的几种方式)瓦釜苑-CSDN博客posix多线程程序设计。调试相关:Linux进程崩溃原调试_guotian

    C++面向对象多线程编程

    第5章讨论进程间和线程间通信。第6章讨论线程与进程同步与合作。第6章详细讨论临界区、死锁、数据竞争以及无限延迟方面的主题。第7-10章讲解用于线程同步、线程间通信、进程间通信以及多线程处理的C++组件。第11章...

    python多线程与多进程及其区别详解

    本文通过一些具体的例子简单介绍一下python的多线程和多进程,后续会写一些进程通信和线程通信的一些文章。 python多线程 python中提供两个标准库thread和threading用于对线程的支持,python3中已放弃对前者的支持...

    python多线程与多进程及其区别

    本文通过一些具体的例子简单介绍一下python的多线程和多进程,后续会写一些进程通信和线程通信的一些文章。 python中提供两个标准库thread和threading用于对线程的支持,python3中已放弃对前者的支持,后者是一种更...

    进程间通过共享内存实现通信的方法

    介绍了线程和进程之间通过共享内存实现通信的方法,包含了具体事例和源码

    Python进程和线程

    Python进程和线程1.多任务的概念1.1 多任务的执行方式1.1.1 并发1.1.2 并行1.2 总结2. 什么是进程3. 创建进程的常用方式3.1 使用multiprocessing创建进程3.2 使用Process子类创建进程3.3 使用进程池Pool创建进程4. ...

    线程存储和共享内存

    关于线程存储和共享内存描述,帮助大家理解进程间通信的一种简单方式,及线程间数据的独立存储形式。

    进程间通信_读者-写者问题.doc

    互斥同步类CMutex和临界区同步类CCriticalSection都是用于保证一个资源一次只能有一个线程访问,二者的不同之处在于前者允许有多个应用程序使用该资源,例如,该资源在一个DLL当中,而后者则不允许对同一个资源的...

Global site tag (gtag.js) - Google Analytics