thread.sleep()
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
监控状态依然保持、会自动恢复到可运行状态,不会释放对象锁。如果任何线程中断了当前线程。
当抛出InterruptedException异常时,当前线程的中断状态被清除。让出CPU分配的执行时间。
thread.join():在一个线程对象上调用,使当前线程等待这个线程对象对应的线程结束。
thread.yield():暂停当前正在执行的线程对象,并执行其他线程。
thread.interrupt()
中断线程,停止其正在进行的一切。中断一个不处于活动状态的线程不会有任何作用。
如果线程在调用Object类的wait()方法、或者join()、sleep()方法过程中受阻,则其中断状态将被清除,并收到一个InterruptedException。
thread.interrupted():检测当前线程是否已经中断,并且清除线程的中断状态(回到非中断状态)。
thread.isAlive():如果线程已经启动且尚未终止,则为活动状态。
thread.setDaemon():需要在start()方法调用之前调用。当正在运行的线程都是后台线程时,Java虚拟机将退出。否则当主线程退出时,其他线程仍然会继续执行。