• 认真地记录技术中遇到的坑!

线程的同步和互斥

C/C++ Moxun 10个月前 (02-28) 186次浏览 0个评论

同步:
同步又称为直接制约关系,是指多个线程为了合作完成任务,必须严格按照某种规定的先后顺序来执行。

互斥:
互斥又称为间接制约关系,是指系统中的某些共享资源,一次只允许一个线程访问。当一个线程正在访问这个资源时,其它线程必须等待。
例如,打印机就是一种共享资源,而访问打印机的代码段就是临界区,故每次只允许一个线程进入临界区。

总结:互斥具有唯一性和排它性,但是不能保证访问者的访问顺序。
同步:是一种更复杂的互斥,它实现了访问者对资源的有序访问。

线程池:
线程的创建和销毁是会消耗时间的,如果有些线程需要频繁的创建、销毁,那么可以考虑使用线程池。因为此时创建和销毁线程的时间消耗(线程上下文的切换等等)比线程带来的收益要大。


转载请注明出处 线程的同步和互斥
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址