线程锁

线程锁

线程锁,用于在多线程情况下实现互斥访问资源,同步访问等,Locklockunlock
例子:
var __global lock; // 注意加__global是为了能在多线程中可访问

function main() {
    console.log('main start');
    lock = new Lock();
    var t = new Thread();
    t.start(func);

    lock.lock();
    console.log('main enter lock');
    sleep(5000);
    console.log('main leave lock');
    lock.unlock();

    console.log('main end');
}

function func() {
    console.log('func start');
    lock.lock();
    console.log('func enter lock');
    sleep(5000);
    console.log('func leave lock');
    lock.unlock();
    console.log('func end');
}

Lock

Lock构造函数 例:var __global lock = new Lock();
参数:
参数名 类型 必填 说明

lock

加锁, 例:var __global lock = new Lock();lock.lock();
参数:
参数名 类型 必填 说明

unlock

解锁, 例:var __global lock = new Lock();lock.unlock();
参数:
参数名 类型 必填 说明