首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你说说条件变量
[问答题]
请你说说条件变量
添加笔记
求解答(0)
邀请回答
收藏(65)
分享
纠错
11个回答
添加回答
12
毛克成
条件变量与互斥锁一起使用,在没达到预设条件时候释放锁,当条件成立再次获取锁
发表于 2022-07-05 20:59:17
回复(0)
0
牛客DXS
条件变量是多线程同步的一种实现,通常与互斥锁一起使用,他有两个关键点:及等待和通知,条件变量允许一个线程等待某个事件的发生,等待时会阻塞在响应位置,当其他线程让这个事件发生则通知阻塞的线程,随后正常运行。 初始化:【条件变量】在创建时需要进行初始化。 等待条件:当一个线程需要等待某个条件满足时,它会执行以下操作:在Linux使用pthread_cond_wait实现条件等待,具体操作:首先获得互斥锁保证对资源的访问,调用pthread_cond_wait询问事件发生,没有则阻塞,当事件发生后其他线程通知,自动获得互斥锁并从pthread_cond_返回, 随后进行后续操作。 通知条件:当另一个线程改变了共享资源,并使得条件满足时,它需要执行以下操作:线程获得互斥锁,进行一些列操作,当事件满足时,调用pthread_cond_signed通知其他线程,随后释放锁完成执行。
编辑于 2024-04-17 09:36:18
回复(0)
0
迷人的小鲸鱼在做测评
条件变量和互斥锁一起使用,当没达到条件时候释放锁,当条件成立再次获锁
发表于 2024-03-03 13:54:31
回复(0)
0
Dancingmad
条件变量和互斥锁配合使用,以原子的方式阻塞进程,直到某个特定条件为真
编辑于 2024-03-01 15:20:21
回复(0)
0
Eclips3
条件变量是生产者消费者模型,是实现线程通信的一种机制,常与互斥锁一起使用,用于在某个特定条件发生或变化时通知其他线程。 它允许线程以原子性进行阻塞。 它允许线程记录它的锁进入cond中进行队列式等待,并且在等待时释放锁,在唤醒时重新持有锁
发表于 2023-12-30 20:24:03
回复(0)
0
机智张
条件变量是线程间共享的变量进行同步的一种机制,通常与互斥锁搭配使用,是在多线程中用来实现“等待-唤醒”逻辑常用的方法,用于维护一个条件,线程可以使用条件变量来等待某一个条件为真,注意理解不是等待条件为真。当条件不满足时,线程将自己加入等待队列,同时释放所持有的互斥锁,当一个线程唤醒一个或者多个等待线程时,此时条件不一定为真。
发表于 2023-11-22 19:15:51
回复(0)
0
keepgoing_
条件变量与互斥锁一起使用,用于线程之间等待\通知机制,当条件不满足时,线程会进入休眠态,然后释放锁,当条件满足时,线程被唤醒,并获取锁。
发表于 2023-10-22 20:58:36
回复(0)
0
零offer小菜鸡
条件变量是一种用于线程间同步的原语。条件变量允许线程等待某个条件的满足。当条件满足时,其他线程会通知等待的线程。条件变量通常与互斥锁一起使用来实现线程间的同步。
发表于 2023-09-21 20:17:18
回复(0)
0
爱等华爱等华
等待共享数据达到某个值时,唤醒等待这个共享数据的线程。和互斥锁一起使用,会有一次加锁和解锁的操作。
发表于 2023-08-09 16:32:08
回复(0)
0
羊翻翻会幸福的
在线程同步中,与互斥锁一同使用,基于生产者消费者模型。 生产则上锁,生产,pthread_cond_signal()通知消费者消费,解锁 消费者上锁,pthread_cond_wait()等待阻塞,被唤醒 使线程以原子的方式阻塞
发表于 2023-07-25 16:23:35
回复(0)
0
牛客491461653号
条件变量和互斥锁一起使用 主要是生产消费者模型 条件变量操作 解开互斥锁 然后等待条件变量阻塞 然后触发条件再加锁
发表于 2022-05-18 15:07:24
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
操作系统
上传者:
real19931
难度:
11条回答
65收藏
1730浏览
热门推荐
相关试题
请编写实现malloc()内存分配...
微软
C++
操作系统
评论
(3)
有两个N*N的矩阵A和B,想要在P...
阿里巴巴
操作系统
评论
(38)
来自
阿里巴巴2015实习生笔试题
分页系统的逻辑地址结构是一维的,分...
操作系统
评论
(1)
关于分段系统与分页系统的区别,描述...
操作系统
评论
(1)
你说在销售运营这个岗位上会涉及到一...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题