Windows环境下多线程编程原理与应用读书笔记(4)————线程间通信概述

<一>线程间通信方法

  1. 全局变量方式:进程中的线程共享全局变量,可以通过全局变量进行线程间通信。
  2. 参数传递法:主线程创建子线程并让子线程为其服务,因此主线程和其他线程可以通过参数传递进行通信。主线程在创建其他线程时,可以传递参数给线程函数以达到通信目的。
  3. 消息传递法:线程间通信的重要方式,通过调用PostMessage()函数在主线程和工作线程间传递消息;调用PostThreadMessage()函数在用户界面线程和其他线程间传递消息。
  4. 同步变量法:此方法在后续章节涉及。

<二>线程间同步、死锁问题

  1. 线程间同步:多个线程同时读写共享资源造成的错误结果。程序中访问共享资源的部分为临界区,为了避免线程同时访问临界区,需要采取方法使得每次只有一个线程在临界区内操作,其常用的方法为:临界区、互斥量,事件,信号量。
  2. 死锁:两个或多个线程在阻塞状态相互等待的一种状态。

这方面的内容需要查阅操作系统中的相关知识。

原文地址:https://www.cnblogs.com/LCCRNblog/p/3384354.html