0
点赞
收藏
分享

微信扫一扫

java writelock 实例2

在觉 2022-08-08 阅读 146

import java.util.concurrent.locks.Lock;

import java.util.concurrent.locks.ReadWriteLock;

import java.util.concurrent.locks.ReentrantReadWriteLock;



public class TableControl {



private ReadWriteLock readWriteLock = new ReentrantReadWriteLock();;



private int i = 0;



public void add(int v) {

i += v;

System.out.println(i);

try {

Thread.sleep(10000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}



public Lock readLock() {

return readWriteLock.readLock();

}



public Lock writeLock() {

return readWriteLock.writeLock();

}

}


public class TestMain implements Runnable{


TableControl tc=new TableControl();



public static void main(String args[]){


TestMain tm=new TestMain();
Thread t1 =new Thread(tm);
Thread t2 =new Thread(tm);


t1.start();
t2.start();
}


@Override
public void run() {
tc.writeLock().lock();
tc.add(100);
tc.writeLock().unlock();
}


}

举报

相关推荐

0 条评论