由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 怎么才是 精简,准确呢? spinlock VS semaphore 的 区别??
相关主题
embedded Linux ,面试了几次,都问这个问题了。不知道答案??某start-up on-site 小感
multi thread复习请教发个n个月前的面经 - ms bing 悲剧
谁给讲讲test-and-set怎么实现mutex?求教一个今天被面到的多线程的问题
L 电面请教如何保证函数时thread safe的?
请教大牛用mutex lock实现reader writer lockcareer cup 如何测context switch花费时间?
请问C++ threading w/ lock free algorithms出个题
failed bloomberg phone interviewRe: 别了,纽约 (转载)
人生中第一次面试FLAG rej/offer 求比较
相关话题的讨论汇总
话题: spinlock话题: semaphore话题: vs话题: lock话题: 精简
进入JobHunting版参与讨论
1 (共1页)
y****1
发帖数: 58
1
谢谢!
spinlock 没有 context switch,用他的操作需要是 atomic operation
这是最主要的吗?
谢谢
c*****l
发帖数: 879
2
spin lock 要busy wait
g*******s
发帖数: 2963
3
mutex: 一个厕所,A在用,B来敲了下进不去,就走开一会,等会再试。
spinlock: 一个厕所,A在用,B很急,就一直站那敲门,直到A完事。
semaphore: N个厕所,来一个人占一个,直到N个都满,就谢绝入内,除
非一个人完事后面的人才能进。
另外很多实际应用是hybrid,先spinlock敲两下,如果等一小会还不出来就进入mutex
状态。
l*******e
发帖数: 127
4
还有某些情况下不允许你context switch,必须busy wait,比如kernel mode的driver
经常用。

谢谢!spinlock 没有 context switch,用他的操作需要是 atomic operation这是最
主要的吗?谢谢

【在 y****1 的大作中提到】
: 谢谢!
: spinlock 没有 context switch,用他的操作需要是 atomic operation
: 这是最主要的吗?
: 谢谢

b*****t
发帖数: 296
5
相当受教!

mutex

【在 g*******s 的大作中提到】
: mutex: 一个厕所,A在用,B来敲了下进不去,就走开一会,等会再试。
: spinlock: 一个厕所,A在用,B很急,就一直站那敲门,直到A完事。
: semaphore: N个厕所,来一个人占一个,直到N个都满,就谢绝入内,除
: 非一个人完事后面的人才能进。
: 另外很多实际应用是hybrid,先spinlock敲两下,如果等一小会还不出来就进入mutex
: 状态。

o****d
发帖数: 2835
6
首先 lock是locking mechanism,而semaphore是signal mechanism
lock只能被同一个线程lock和unlock,而semaphore可以不同线程通过信号协同作用
另外,lock分spinlock和blocking lock(mutex)
他们的区别ls也已经说了
spinlock比较适合 等待时间比较短的情况,还有kernel的lock也是用spinlock;
而blocking lock适合等待时间比较长的情况,因为context switch比较耗时
还有spinlock+blocking lock的组合,先spin一阵然后用blocking lock

【在 y****1 的大作中提到】
: 谢谢!
: spinlock 没有 context switch,用他的操作需要是 atomic operation
: 这是最主要的吗?
: 谢谢

1 (共1页)
进入JobHunting版参与讨论
相关主题
FLAG rej/offer 求比较请教大牛用mutex lock实现reader writer lock
pure storage一道面试题请问C++ threading w/ lock free algorithms
攒人品。面试经历(1)failed bloomberg phone interview
为啥说semaphore是进程间的一种通信机制?人生中第一次面试
embedded Linux ,面试了几次,都问这个问题了。不知道答案??某start-up on-site 小感
multi thread复习请教发个n个月前的面经 - ms bing 悲剧
谁给讲讲test-and-set怎么实现mutex?求教一个今天被面到的多线程的问题
L 电面请教如何保证函数时thread safe的?
相关话题的讨论汇总
话题: spinlock话题: semaphore话题: vs话题: lock话题: 精简