Java-使用具有多线程的可重入锁
我正在制作一个多线程程序,我想使用锁。问题是程序在一个线程上运行,我希望有一个线程能够抓住锁,暂停第一个线程,然后在从第三个线程调用方法时能够解锁它。我尝试了很多不同的方法,但都不管用。我该怎么做 编辑:Java-使用具有多线程的可重入锁,java,multithreading,locking,Java,Multithreading,Locking,我正在制作一个多线程程序,我想使用锁。问题是程序在一个线程上运行,我希望有一个线程能够抓住锁,暂停第一个线程,然后在从第三个线程调用方法时能够解锁它。我尝试了很多不同的方法,但都不管用。我该怎么做 编辑: 重写问题据我所知,您希望一个线程睡眠并等待另一个线程的通知。您应该查看而不是锁定。对象不锁定,线程锁定。@SotiriosDelimanolis lock.lock使线程抓住锁,然后下一个试图抓住锁的线程必须等待锁被lock.unlock释放,哪个线程执行lock.lock?@Sotirios
重写问题据我所知,您希望一个线程睡眠并等待另一个线程的通知。您应该查看而不是锁定。对象不锁定,线程锁定。@SotiriosDelimanolis lock.lock使线程抓住锁,然后下一个试图抓住锁的线程必须等待锁被lock.unlock释放,哪个线程执行lock.lock?@SotiriosDelimanolis control。看看密码。假设您指的是control.lock;,您正在从ControlThread对象调用lock方法,但执行该代码的不是该线程。执行代码的线程是与程序引用的线程对象相对应的线程。