创建线程的几种方式
1.继承thread,重写run方法
2.实现runable接口
3.实现callable接口
4.通过线程池创建
还是执行了start()方法,只不过cpu指针已经指向该线程,该线程已经获取到cpu的执行资源
sleep()睡眠,wait()等待
sleep:thread的方法,时间到了以后会自动唤醒,它是将锁资源占用,唤醒之后直接继续执行
wait是object的方法,它一定需要notify()方法进行唤醒,并且它睡眠时就进入到了等待区域,释放了锁的资源
join():是Theard的方法,作用是调用线程需等待该join()线程执行完成后,才能继续用下运行。
wait():是Object的方法,作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法”,当前线程被唤醒(进入“就绪状态”)
打断线程的话有stop和interrupt,一般会使用interrupt一个正在运行的线程,如果是stop的话是强行终止。