| 
 | 
	
哥们,你这临界区有问题啊,应该这样的吧。 
var CriHandle 
function visit(visitthread) 
    criticalenter(CriHandle) 
    for(var i = 0; i < 4; i++) 
        //messagebox("线程"+ visitthread +"访问") 
        traceprint("线程"& visitthread &"访问") 
    end 
     
    criticalleave(CriHandle) 
    return true 
     
     
end 
 
 
function button0_click() 
//这里添加你要执行的代码 
        CriHandle=criticalcreate() 
     
        var handleA=threadbegin("visit","A") 
    var handleB=threadbegin("visit","B") 
     
        traceprint("////////////////////分隔线/////////////////////////") 
 
 
        //threadwaitfor(handleA,60*1000)//最长等待线程句柄1的线程执行1分钟 
    //threadwaitfor(handleB,60*1000)//最长等待线程句柄2的线程执行1分钟      
 
        //必须加上下面语句,否则线程还没运行结束就删除临界区,程序崩溃 
    while(!threadgetstatus(handleA)&&!threadgetstatus(handleB)==true) 
                criticaldelete(CriHandle) 
                exit()       
    end 
     
    return true 
     
end 
 |   
 
 
 
 |