Multithreading 并发控制算法

Multithreading 并发控制算法,multithreading,algorithm,Multithreading,Algorithm,我试图修改一个并发控制算法,以利用线程的优先级(即,如果低优先级线程和高优先级线程希望同时进入关键部分,则高优先级线程首先进入,而低优先级线程等待一定数量的周期) 以下是修改后的算法: procphase[i]=want\u cr; int j=转动; 做{ while(j!=i){ 如果(procphase[j]!=out\u cr) { 如果(procphase[j]==want\u cr&&thrd\u prty[i]你怎么知道它被卡住了?你得到了什么错误或反馈?我不会假装我完全理解这段代

我试图修改一个并发控制算法,以利用线程的优先级(即,如果低优先级线程和高优先级线程希望同时进入关键部分,则高优先级线程首先进入,而低优先级线程等待一定数量的周期)

以下是修改后的算法:

procphase[i]=want\u cr;
int j=转动;
做{
while(j!=i){
如果(procphase[j]!=out\u cr)
{

如果(procphase[j]==want\u cr&&thrd\u prty[i]你怎么知道它被卡住了?你得到了什么错误或反馈?我不会假装我完全理解这段代码,但我确实注意到内部
while
循环至少有可能被卡住:如果前两个
条件为真,但第三个条件为假,
j
不会改变。第四个
如果
有类似问题。