多线程专题之线程间的通信
发布日期:2022-04-11 08:52:43
浏览次数:6
分类:博客文章
本文共 1076 字,大约阅读时间需要 3 分钟。
接上一回 - 多线程专题之MFC线程(2),我们来聊聊线程间的通信:/*------------------------------------------------------------*\
多线程间的通信应用程序中多线程的使用通常都是用于主线程执行与用户交互,次要线程执行后台任务。当用户触发了某个事件,可能需要让次要线程知道,然后处理该事件。这就涉及了如何在多个线程间的通信问题。通常有三种方式:
1、全局变量: 同一个进程中的所有线程共享操作系统分配所有资源,这就意味着 我们可以用全局变量解决通信问题。当然了,建议使用volati le 修饰符表示全局变量,作用上次不说了嘛,好,在说一次啊。 volatile 是告诉编译器不要对该变量作任何优化的, 即不把它放到寄存器中。如果线程要传递多个信息,建议而且必须 定义一个结构,通过传递指向该结构的指针进行传递信息。 2、传递参数: 创建现成的时候不是有一个线程参数嘛。我们可以用它来传啊。不过 它只可以在创建线程的时候用。 3、发送自定义消息: 我们可以在一个线程中向另一个线程发送自定义的消息。这是通过 操作系统实现的。这是利用Windows操作系统的消息驱动机制,接收 消息的线程必须建立了消息循环,然后,不断的从消息队列里取出消 息进行相应的消息处理\*------------------------------------------------------------*/void CMultiThreadDlg::OnBtnUsageSix() { // TODO: Add your control notification handler code here//这里,我们只写一个发送消息的例子 CWinThread * pThread = NULL; pThread = AfxBeginThread ( RUNTIME_CLASS(CAfxThread), //线程类 THREAD_PRIORITY_NORMAL, //线程优先级 0, //Windows系统一般线程栈大小为1 MB,创建线程的数目与物理内存和栈空间大小有关 0, //线程创建标志,如:CREATE_SUSPENDED NULL ); //系统安全描述,NULL if ( pThread ) { pThread->PostThreadMessage( WM_AFX_HELLO_MSG, 0, (LPARAM)0 ); }}记得自己试试啊.呵呵.下次就到线程间的同步了哦!
转载地址:https://www.cnblogs.com/tianlangshu/archive/2011/03/20/1989562.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月16日 21时48分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Java】 用PriorityQueue实现最大最小堆
2021-06-29
【剑指OFFER】49. 丑数
2021-06-29
【力扣】179. 最大数
2021-06-29
【剑指OFFER】56 - I. 数组中数字出现的次数
2021-06-29
天池新人赛-工业蒸汽量预测-排名150
2021-06-29
天池新人实战赛o2o优惠券使用预测-排名181
2021-06-29
资金流入流出预测-挑战Baseline-排名445 /122.17
2021-06-29
第四届工业大数据创新竞赛-注塑成型工艺的虚拟量测和调机优化-决赛排名22
2021-06-29
大数据时代的Serverless工作负载预测-排名80_0.313
2021-06-29
python爬虫爬取_腾讯位置大数据_人口迁徙图16年至今数据
2021-06-29
python爬虫爬取_高德地图_主要城市迁徙意愿排行榜_19年至今数据
2021-06-29
联通手机信令大数据的处理分析与可视化
2021-06-29
CNC机床刀具寿命预测
2021-06-29
Python遗传算法求解TSP旅行商问题——全国主要城市交通最短路径
2021-06-29
LeetCode题解(1114):多线程按序打印(Python)
2021-06-29
LeetCode题解(1122):数组的相对排序(Python)
2021-06-29
LeetCode题解(1128):等价多米诺骨牌对的数量(Python)
2021-06-29
LeetCode题解(1137):计算斐波那契数列(Python)
2021-06-29
LeetCode题解(1154):判断日期在一年中的第几天(Python)
2021-06-29
LeetCode题解(1160):判断可由指定字母拼写的所有单词总长(Python)
2021-06-29