自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 C 实现信号量互斥同步操作(sem_t)

sem_t: 信号量数据类型sem:信号量名pshared:判断信号量于进程还是线程间使用,0:进程,非0:线程,(一般用1)value:信号量资源数int sem_wait(sem_t *sem):v操作:若资源数为0,则阻塞, 反之,资源数减1sem:信号量名p操作,资源数加1sem:信号量名。

2024-09-13 21:44:08 630

原创 有了互斥锁为什么还要用到条件变量?

1,我们使用互斥锁对两个线程做互斥操作时,通常是用循环(while1)操作,循环里代码块如果是用到了一开始是互斥锁加锁操作,而互斥锁已经被其他线程上锁,此时当前线程就会不断的去检查锁的状态,这一过程会消耗很多资源,而条件变量则会将当前线程挂起,不会造成资源的浪费2,条件变量当条件满足时,一个或多个变量都会被唤醒,如在生产者与消费者模式中,如果我们要让多个生产者去生产,而多个生产者又在多个线程,我们可以通过条件变量来满足,而互斥锁则不能满足该条件(条件变量在阻塞线程时,会释放互斥锁,直至唤醒)

2024-09-12 21:40:20 386

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除