| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 399 人关注过本帖
标题:一道关于多线程的问题
只看楼主 加入收藏
hys1986
Rank: 2
等 级:论坛游民
帖 子:9
专家分:21
注 册:2011-5-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
一道关于多线程的问题
一道面试题问以下代码哪里错了;
我觉得是应该先释放B再释放A,不知道是不是简单了点,请求解答.先谢谢大家帮忙了

Find, correct and explain the defect in the following code snippet.

Mutex mA;
Mutex mB;

Take(mA);
Take(mB);

DoSomething();

Release(mA);
Release(mB);
搜索更多相关主题的帖子: 多线程 
2011-05-22 22:41
buffer
Rank: 5Rank: 5
等 级:职业侠客
帖 子:73
专家分:326
注 册:2010-12-31
收藏
得分:20 
释放锁没有必要逆序。只要在多个线程中保持一致的顺序就行了。

我觉得这题的问题可能是在Take和Release函数是否满足原子性上。
2011-05-22 23:15
hys1986
Rank: 2
等 级:论坛游民
帖 子:9
专家分:21
注 册:2011-5-22
收藏
得分:0 
嗯?我感觉也简单了点,还有个想法
在DO SOMETHING这个方程的时候,如果发生了PROCESS SWTICH,要保证两个线程不能互相锁住?不然的话两个线程就都在互相等待释放..卡住了
不过如果要改的话好像就不那么简单了-_-有简单点的改法么..
2011-05-22 23:22
快速回复:一道关于多线程的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014447 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved