当前位置: 技术问答>linux和unix
多个线程同时等待一个锁,获取锁的机制是什么??
来源: 互联网 发布时间:2016-01-29
本文导语: 多个线程同时等待一个锁,当锁可用时,哪个能首先获取??是按等待锁的时间还是线程的优先级?? 以下三个线程优先级一样,等待时间不一样。 结果是:bst1 bst2 bst3 bst1 bst1 bst1 bst1 bst1 bst3 bst3 bst3 bst3 bst3 bst2 bst2 b...
多个线程同时等待一个锁,当锁可用时,哪个能首先获取??是按等待锁的时间还是线程的优先级??
以下三个线程优先级一样,等待时间不一样。
结果是:bst1
bst2
bst3
bst1
bst1
bst1
bst1
bst1
bst3
bst3
bst3
bst3
bst3
bst2
bst2
bst2
bst2
bst2
感觉不太对啊??
void *thread1(void *arg)
{
int i;
struct timeval tv;
i=0;
tv.tv_sec=0;
tv.tv_usec=500;
while(i
以下三个线程优先级一样,等待时间不一样。
结果是:bst1
bst2
bst3
bst1
bst1
bst1
bst1
bst1
bst3
bst3
bst3
bst3
bst3
bst2
bst2
bst2
bst2
bst2
感觉不太对啊??
void *thread1(void *arg)
{
int i;
struct timeval tv;
i=0;
tv.tv_sec=0;
tv.tv_usec=500;
while(i