使线程同步概要
使线程同步 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。 如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去访问处理结果,这就很有可能得到有关处理结果的错误了解。例如,多个线程同时访问同一个全局变量,如果都是读取操作,则不会出现问题。如果一个线程负责改变此变量的值,而其他线程负责同时读取变量内容,则不能保证读取到的数据是经过写线程修改后的。 为了确保读线程读取到的是经过修改的变量,就必须在向变量写入数据时禁止其他线程对其的任何访问,直至赋值过程结束后再解除对其他线程的访问限制。象这种保证线程能了解其他线程任务处理结束后的处理结果而采取的保护措施即为线程同步。 线程同步是一个非常大的话题,包括方方面面的内容。从大的方面讲,线程的同步可分用户模式的线程同步和内核对象的线程同步两大类。用户模式中线程的同步方法主要有原子访问和临界区等方法。其特点是同步速度特别快,适合于对线程运行速度有严格要求的场合。 内核对象的线程同步则主要由事件、等待定时器、信号量以及信号灯等内核对象构成。由于这种同步机制使用了内核对象,使用时必须将线程从用户模式切换到内核模式,而这种转换一般要耗费近千个CPU周期,因
您可能关注的文档
最近下载
- 临床基础检验学技术-第八篇-脱落细胞和针吸细胞病理学检验.ppt VIP
- 《信息可视化设计》 课件全套 电子 第1--6章 信息可视化设计总论---信息可视化设计的应用与展望.pptx VIP
- 工业互联网导论(工业大数据)期末单元测试与答案.pdf VIP
- 在线网课学习课堂《人工智能原理》单元测试考核答案.docx VIP
- DB11_994-2021 平战结合人民防空工程设计规范.docx
- 监理概论目标控制.pptx VIP
- 建设工程施工合同常见法律风险及其防范.pptx VIP
- 超声引导下精准动脉血气分析技术.docx VIP
- 2025年科技成果转化与管理考试试卷及答案.docx VIP
- 2024年山西中医药大学附属医院招聘笔试真题.docx VIP
原创力文档

文档评论(0)