j0057 4 +357

just a test-黑暗中的矩阵,寒星光芒四射!

导航

js的lock

对于一个函数test(),可以写成下面的模式:
[code]
var test_lock=false;
function test(){
    if(test_lock) setTimeout("test()",10);
    else test_body();
    }
function test_body(){
    test_lock=true;
    //[test的主体]
   test_lock=false;
    }
[/code]
一般情况下可以保证[test的主体]同一时刻只有一个线程在执行。当然如果[test的主体]中有setTimeout之类的东西,情况复杂一点,须另行处理,最好是避免。

posted on 2009-04-09 16:45  君宝  阅读(674)  评论(0)    收藏  举报