线程通信和进程通信有什么区别啊

解决方案 »

  1.   

      一个应用程序一般就是一个进程,一般对应你的一个可执行exe项目,这个项目里可以定义很多全局变量,然后在这个exe里可以开多个线程,这些线程可以通讯,可以使用这些全局变量进行数据交换(当然还有其他方法)。但是进程间却不行,要通讯就要使用邮槽,共享内存,命名管道等方法,一个进程中定义的全局变量也不能再另一个进程里用,因为他们有不同的资源块。
      

  2.   

    线程通信一般是指同一进程内的线程进行通讯,由于在同一进程内,共享地址空间,因此交互比较容易,全局变量之类的都能起到作用。进程通信一般是指不同进程间的线程进行通讯,由于地址空间不同,因此需要使用操作系统相关机制进行“中转”,比如共享文件、管道、SOCKET。
      

  3.   

    个人理解:
    线程通信:消息,回调函数等
    进程通信: 主要有Socket,邮件槽,命名管道等。