摘要:
package com.mozq.thread.interrupt; /** * 注意:调用interrupt()方法,并不会结束线程。 * 结束线程的语义:需要我们自己使用3个中断方法构建。 * * 没有任何语言方面的需求一个被中断的线程应该终止。 * 中断一个线程只是为了引起该线程的注意,被中断线程可以决定如何应对中断。 * 某些线程非常重要,以至于它们应该不理... 阅读全文
摘要:
package com.mozq.thread.interrupt; /** * 结束线程方法1:使用结束标志,但是当线程处于阻塞状态时,如果线程不退出阻塞状态,则无法检测退出标志,也就不能退出。 * @author jie * */ class StopThread implements Runnable{ private boolean exit = false; ... 阅读全文
摘要:
package com.mozq.thread.producer2; /* * 面试题2:以下代码是否存在错误 class ThreadTest implements Runnable{ public void run(Thread t){} } 结果:实现Runnable接口,但是没有覆盖接口中的run方法,应该被定义为抽象类。public void run(Thread t)和vo... 阅读全文
摘要:
package com.mozq.thread.producer2; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * 当使用等待时 * 如果用i... 阅读全文