1、当线程睡眠中,使用inputrupt 会中断睡眠,进入catch中。比如线程t1在睡眠,当调用t1.inputrupt()线程t1停止睡眠。 2、 synchronized: this对象锁是非公平锁 (1)在多线程使用同一个对象的测试中,只允许同时使用一个对象锁,一个类锁,其他操作搭配都互斥,只能等前一个线程解锁才能让下一个线程使用; (2)在多线程分别 new 一个对象的测试中,允许同时使用任意的对象锁,也允许对象锁和一个类锁同时使用,但是类锁不能够同时使用,会互斥,只能等前一个线程解锁才能让下一个线程使用; 3、start()方法调用start0() 方法后,该线程并不一定会立马执行,只是将线程变成了可运行状态,具体什么时候执行,取决于cpu,由cpu统一调度。 4、yeild:线程礼让。让出cpu,让其他线程执行,(礼让出cpu,自己也会抢CPU的)但礼让时间不确定,所以不一定礼让成功。 join: 线程的插队。插队的线程一旦插队成功,则肯定先执行完插队的线程所有任务。 5、下面操作不会释放锁 线程执行同步代码块或同步方法时,程序调用Thread.sleep()、Thread.yeild()方法暂停当前线程的执行,不会释放锁。 线程执行同步代码块时,其他线程调用了该线程的suspend()方法将该线程挂起,该线程不会释放锁。suspend()和resume()不推荐使用