zoukankan      html  css  js  c++  java
  • Windows环境下多线程编程原理与应用读书笔记(4)————线程间通信概述

    <一>线程间通信方法

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

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

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

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

  • 相关阅读:
    (22)进程和线程区别
    (21)回调函数
    (20)gevent协程
    (18)ProcessPoolExecutor进程池
    (19)ThreadPoolExecutor线程池
    (17)线程队列---queue LifoQueue PriorityQueue
    (16)线程---定时器Timer
    (15)线程---Condition条件
    (14)线程- Event事件和守护线程Daemon
    IDEA快速搭建WEB项目【记录篇】
  • 原文地址:https://www.cnblogs.com/LCCRNblog/p/3384354.html
Copyright © 2011-2022 走看看