线程推荐使用Runnable接口(implements)实现,然后使用new Thread().start()启动
lamda表达式:()->{} 这里要注意只能接口(interface)含有一个函数
调用线程的名字:Thread.currentThread().getName(),优先级getPriority() setpriority()
线程的停止:一般使用标志位定义使得线程进行停止(flat)
线程的计时:Thread.sleep(200),表示暂停200ms 同时阻塞状态是不能释放锁的
优势:可以放大问题发生,更易观察。
常用操作:Date time = new Date(System.currentTimeMills())//记录当前时间
打印时间:new SimpleDateFormat("HH:MM:SS").format(time)
线程的礼让:Thread.yield()但是这个操作不一定成功,具体还要看cpu
线程的插队:Thread.join()一定成功,强制执行
线程的观测 Thread.State a = thread.getState(); 这里注意线程完全死亡后就不能重新start()
线程的优先级: 1-10 但是并不是越高就一定会先运行,还是要看CPU调度
线程的守护: thread.setDaemon() 守护线程设置后只需要等待其余线程结束,便结束,不影响结束时间