第三讲:线程通信分解.doc

第三讲:线程通信 很多的时候一件事情需要很多人完成,那么此时这些人就避免不了需要相互进行交流,在程序中利用多线程进行工作的时候同样也是这个道理,为了能够使得线程之间能够更好的协调的完成任务,这些线程也需要进行交流。称之为线程通信。 【线程通信的方法】 线程通信有很多的方法,在MFC平台中普遍采用的方法是使用全局变量和使用自定义消息两种方案。 使用全局变量: 使用全局变量实现线程间通信是最简单的线程间的通信方式。核心做法是在程序中定义全局变量,各个线程都可以直接访问此全局变量的值,从而达到线程间通信的目的。在实际的编程中,通常用在下面的两种情况: 使用全局变量控制线程的工作状态 通过全局变量实现多个线程操作一个对象 使用自定义消息: 除了使用全局变量进行通信外还可以通过使用自定义消息的方式完成线程间的通信。通常情况下,此种方式用在线程将数据传递给进程的情况。 【使用全局变量】 使用全局变量通信即使得多个线程访问同一个全局变量以完成线程间的数据交换。在《操作系统》学科中通常将这种方法称之为“共享内存”方法,即多个线程共享一个内存空间,通过访问同一个内存空间完成线程通信。如下图: 上图中线程A将需要发给线程B的消息放在全局变量所占用的内存区域中,线程B通过访问内存块获取线程A发送的消息。 【最简单的消息】 最简单的消息通信莫过于上述所描述的单

文档评论(0)

1亿VIP精品文档

相关文档