由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 面试问题一问 (转载)
相关主题
c++多线程的工作面试一般会问哪些问题?java multi-threading project怎么确定它没有deadlock, race condition?
linux下, 一个thread 正在写文件,如果另一个thread试图去删去这个文件c#怎么测试deadlock, race condition啊?
how to debug multi-thread program?[合集] 忽然发现VC里同一线程的消息函数是无法调用另一个消息函数的...
multithread app的design要注意哪些问题?多线程程序有什么好的调式方法?
请教这段Code到底是哪错了?计算机供电不稳定会影响程序/线程运行吗?
How to avoid deadlock ?求教几道面试题
[合集] can a single thread run into deadlock?这样的deadlock如何debug?
问题一枚Python有什么好的方法建two-way pipe?
相关话题的讨论汇总
话题: count话题: waiting话题: else话题: int
进入Programming版参与讨论
1 (共1页)
c*****u
发帖数: 530
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: carolfu (最爱Angela), 信区: JobHunting
标 题: 面试问题一问
发信站: BBS 未名空间站 (Thu Apr 12 18:45:34 2007)
Write a program that deadlocks in C++.
e******r
发帖数: 220
2
来攒攒RP, 欢迎指正.
int count=2;
int waiting=0;
countingSemaphore mutex = new countingSemaphore(1);
countingSemaphore resourceAvailable = new countingSemaphore(0);
Thread i{
mutex.p();
if(count>0){
count--;
mutex.v();
}
else{
waiting++;
resourceAvailable.p(); // 这里产生deadlock
}
mutex.p();
if(waiting>0){
--waiting;
resourceAvailable.v();
}
else count++;
mutex.v();
}

【在 c*****u 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: carolfu (最爱Angela), 信区: JobHunting
: 标 题: 面试问题一问
: 发信站: BBS 未名空间站 (Thu Apr 12 18:45:34 2007)
: Write a program that deadlocks in C++.

1 (共1页)
进入Programming版参与讨论
相关主题
Python有什么好的方法建two-way pipe?请教这段Code到底是哪错了?
python程序员水平不行啊How to avoid deadlock ?
哈,居然写完了作业[合集] can a single thread run into deadlock?
java concurrency问题一枚
c++多线程的工作面试一般会问哪些问题?java multi-threading project怎么确定它没有deadlock, race condition?
linux下, 一个thread 正在写文件,如果另一个thread试图去删去这个文件c#怎么测试deadlock, race condition啊?
how to debug multi-thread program?[合集] 忽然发现VC里同一线程的消息函数是无法调用另一个消息函数的...
multithread app的design要注意哪些问题?多线程程序有什么好的调式方法?
相关话题的讨论汇总
话题: count话题: waiting话题: else话题: int