微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 线程中的关键部分是什么

我正在阅读有关互斥,信号量和关键部分的内容.我理解mutex同步一个资源,这样只有一个线程在一个信号量允许特定的线程没有线程访问资源时访问它,但关键部分做了什么?

解决方法

在正常使用中,临界区是必须连续执行的代码段 – 即,在任何给定时间只有一个线程可以执行该代码.您通常通过使用互斥信号量保护代码来实现此目的.

Windows用语中,关键部分是在特定于进程的互斥信号量(即,仅用于在单个进程中的线程之间进行锁定而不是在单独的进程之间)的数据结构(以及一些相关联的函数).

信号量有两种.互斥信号量一次只允许一个线程执行.计算的信号量允许您指定可以同时执行的最大线程数.互斥信号量是更常见的变种,但计数的信号量肯定也有用途.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐