1.等待/通知机制
wait()和notify()
wait()和sleep()的不同是wait()是会失去锁,但是sleep()并不会
notify()执行后锁也不会释放
2.生产者/消费者模式的实现
生产者和消费者模式的实现和等待/通知机制是一样的使用:wait()和notify()
3.方法join的使用
线程join的作用是使所属的线程对对象X正常执行run()方法中的任务,从而使当前线程进行无限期阻塞,等待x执行完之后再执行Z后面的代码
join(num)中的参数num使用用来设定等待时间的。
4.ThreadLocal的使用
变量值一般共享就是采用public static方式,但是所有的线程都使用同一个public staitc变量。
Theadlocal s = new Theadlocal();
s.get() s.set()
InheritableThreadLocal可以在子线程中取得父线程的值。
5.通过管道进行线程间通信:字节流
管道流和字节流
pipeStream是一种特殊的流,用于在不同线程之间直接传送数据。一个线程把数据输出到管道,另一个从输入管道中读数据。通过使用管道,实现不同线程之间的通信。
网友评论