这周我们对线程有了较好的理解, 掌握了两种创建线程的方法,第一种:继承thread类,
重写run方法,在run方法中写要执行的代码。在创建线程对象时传入子类对象。第二种:
实现Runable接口,重写run方法。在创建线程对象时候传入该接口的子类对象。
多个线程同时启动的时候,每个线程大概会有五种状态,为了避免多线程启动时的不确定
性,通常用锁和synchronized方法来解决。
currentThread.getName();方法可以在多线程开发中获取当前线程的名称。
.sleep与wait也有一定的区别:
1.sleep方法必须制定线程休眠的时间
wait方法可以制定也可以不指定线程停止的时间。
2.sleep方法执行后不会释放监视器锁权限,此时处于临时阻塞状态。
wait方法则在执行后立即释放锁权限
3.sleep方法到时间后自动唤醒并继续执行
wait方法则在执行后如果没有被notify或者notifyAll唤醒则一直处于等待状态。
4.sleep方法不一定要定义在同步中
wait方法则必须在同步中使用
我们也可以使用setPriority方法可以对线程进行优先级的设定。