由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教个题目
相关主题
怎样 avoid deadlock ??新鲜SDET M onsite 面经 [update offer]
careerup 150 上一道deadlock 题请教个面试题
careercup 150 deadlock 一题菜鸟请教多线程怎么学
linux下, 一个thread 正在写文件,如果另一个thread试图去删去 (转载)请问pure storage 的那道用spin lock and flags to implement mutex怎么做
问个priority inversion 的题目, wiki跟书上不一样帮忙看看我律师说的对不对 (学校转工业界). Thanks!
google面试的多线程问题FLAG这种大公司的Offer能hold多久?
Another problem from Googlebreak deadlock in a live process without killing the process
请问真的会dead lock吗?job handler Qs
相关话题的讨论汇总
话题: require话题: lock话题: resource话题: loop话题: process
进入JobHunting版参与讨论
1 (共1页)
P*******b
发帖数: 1001
1
Design a class providing lock function which provide lock only if it sees th
ere are no possible deadlocks.
d**e
发帖数: 6098
2
应该需要两个matrix
P_Require[i,j] = 1 表示 process i 需要 resource j
P_Holding[i,j] = 1 表示 process i 持有 resource j
如果process m需要update/read/write resource n
那么set p_require[m,n] = 1
然后开始check有没有形成一个环,
如果有,则不lock,并且reset p_require[m,n]=0,没有就可以lock。
大概可能是这样,但我这个只假设一个process只能hold/require一个resource,
如果能hold/require多个resources,那么就用其它的数据结构。
bool flag[] = {false}
bool check_loop (m, n)
flag[m] = true
for all i loop
if !flag[i] && p_holding[i,n] == 1 then
check what process i requires
if nothing was required, continue;
if it requires k, then
if resource k is currently hold by j && flag[j]
return false
else
return check_loop(i, k)
end if
end if
end loop
return true
//check_loop

th

【在 P*******b 的大作中提到】
: Design a class providing lock function which provide lock only if it sees th
: ere are no possible deadlocks.

1 (共1页)
进入JobHunting版参与讨论
相关主题
job handler Qs问个priority inversion 的题目, wiki跟书上不一样
一道M$面试题的解法...google面试的多线程问题
微软面试题Another problem from Google
[合集] OS interview questions请问真的会dead lock吗?
怎样 avoid deadlock ??新鲜SDET M onsite 面经 [update offer]
careerup 150 上一道deadlock 题请教个面试题
careercup 150 deadlock 一题菜鸟请教多线程怎么学
linux下, 一个thread 正在写文件,如果另一个thread试图去删去 (转载)请问pure storage 的那道用spin lock and flags to implement mutex怎么做
相关话题的讨论汇总
话题: require话题: lock话题: resource话题: loop话题: process