一个经典的多线程同步问题
程序描述:
主线程启动10个子线程并将表示子线程序号的变量地址作为参数传递给子线程。子线程接收参数 - sleep(50) - 全局变量++ - sleep(0) - 输出参数和全局变量。
要求:
1.子线程输出的线程序号不能重复。
2.全局变量的输出必须递增。
下面画了个简单的示意图:
分析下这个问题的考察点,主要考察点有二个:
1.主线程创建子线程并传入一个指向变量地址的指针作参数,由于线程启动须要花费一定的时间,所以在子线程根据这个指针访问并保存数据前,主线程应等待子线程保存完毕后才能改动该参数并启动下一个线程。这涉及到主线程与子线程之间的同步。
2.子线程之间会互斥的改动和输出全局变量。要求全局变量的输出必须递增。这涉及到各子线程间的互斥。
?
下面列出这个程序的基本框架,可以在此代码基础上进行修改和验证。
//经典线程同步互斥问题
#include stdio.h
#include process.h
#include windows.h
long g_nNum; //全局资源
unsigned int __stdcall Fun(void *pPM); //线程函数
const int THREAD_NUM = 10; //子线程个数
int main()
{
g_nNum = 0;
HANDLE handle[THREAD
您可能关注的文档
- 4三相VSR的空间矢量控制资料.doc
- 04第四单元统计概述.ppt
- 4弱电解质的电离平衡练习题2资料.doc
- 4热控系统调试措施资料.doc
- 4配电线路技师计算资料.doc
- 4模块四声现象资料.doc
- 04第四章3混凝土工程1概述.ppt
- 4铝包钢芯铝绞线技术参数目录资料.doc
- 04第四章红外光谱法概述.ppt
- 4湖北文理学院微机原理实验资料.doc
- 2026届甘肃省民勤三中高考化学三模试卷含解析.doc
- 2021年人力资源年终工作汇报 附2026年人力预算测算表 可直接套用.pptx
- 2021年直播间氛围打造提升停留时长培训课件.pptx
- 2026届广西钦州市第二中学高三第二次模拟考试历史试卷含解析.doc
- 2020应对儿童厌学叛逆专属心理健康教育宣讲课件.pptx
- 2026届江苏省南通巿启东中学5月高三月考物理试题.doc
- 2026年初中语文写作课件.pptx
- 2026年电子元件检测实训教程PPT.pptx
- 2026届安徽省肥东县圣泉中学高三下期末模拟联考数学试题.doc
- 广东省惠东县惠东高级中学2026届高三考前热身生物试卷含解析.doc
最近下载
- KONE通力电梯600图纸电气原理图纸.pdf
- 专题01 双中点(线段)模型与双角平分线(角)模型解读与提分精练(全国通用)(解析版).docx VIP
- DB32_T 4409-2022 水下公路隧道运营 隐患排查治理规范.docx VIP
- 2026年儿科主治医师《相关专业知识》考前密卷二全解析版.docx VIP
- DRG院端精细化管理系统建设方案.pdf VIP
- 小葵花幼儿园小班“马路上车儿多”教案.doc VIP
- 石墨改性水泥基保温板.pdf VIP
- 2024年上海市浦东新区中考二模语文试题(原卷版+解析版).pdf VIP
- 浙江省台州市天台县2024-2025学年第二学期七年级期末试题 科学试卷.docx VIP
- 宣贯培训(2026年)《YST 745.10-2023铜阳极泥化学分析方法 第10部分:铱和铑含量的测定 镍锍试金-电感耦合等离子体质谱法》.pptx VIP
原创力文档

文档评论(0)