假设我有 2 个 a 实例CustomThread和一个名为printer. 在 的print方法内部printer,如果我在最后执行 alock.lock()和lock.unlock(),这是如何工作的?
private class Printer{
private final Lock mutex = new ReentrantLock(true);
public void print(int thread){
try {
mutex.lock();
for(int i = 0; i < 10; ++i) {
System.out.println(String.format("Printing: %d for Thread: %d", i, thread));
}
} catch(Exception e){
} finally {
mutex.unlock();
}
}
}
我将从我的 2 个线程对象中调用此方法。
我的问题是,方法lock本身如何?锁不是基于线程的吗?也许我在这里混淆了核心思想。当我在方法中加锁时,这意味着什么?
翻翻过去那场雪
相关分类