首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

重入锁ReentrantLock() 创建报错 咋回事?

2012-05-15 
重入锁ReentrantLock() 创建报错 怎么回事??Java codeimport java.util.concurrent.locks.*public class

重入锁ReentrantLock() 创建报错 怎么回事??

Java code
import java.util.concurrent.locks.*;public class ReentrantLock  implements Runnable{    private int num = 0;    private Lock lock = new ReentrantLock();//创建重入锁对象。这里怎么报错啊???    @Override    public void run(){        lock.lock();    //打开锁        try{            for(int i = 0; i < 5; i++){                try{                    Thread.sleep(100);                }catch (InterruptedException e){                    e.printStackTrace();                }                System.out.println(Thread.currentThread().getName() + ":" + num++);            }        }finally{            lock.unlock();//释放锁        }    }    public static void main(String[] args) {        ReentrantLock run = new ReentrantLock();        Thread thread1 = new Thread(run);        Thread thread2 = new Thread(run);        thread1.start();        thread2.start();    }}


private Lock lock = new ReentrantLock(); 这句 new ReentrantLock() 为什么不能通过编译??



[解决办法]
ReentrantLock 都被你覆盖了,还能是lock吗?
改下名字
public class ReentrantLockRunnable implements Runnable{
private int num = 0;
private Lock lock = new ReentrantLock();//创建重入锁对象。这里怎么报错啊???
即使成功了,也会栈溢出。

热点排行