多线程编程第三章线程间的通信

wait和notify
notify唤醒随机一个沉睡的线程
notifyAll唤醒所有
wait(long)不需要唤醒,等待时间到了之后,自动醒
通信字节流PipedOutputStream与PipedInputStream
字符流PipedWriter与PipedReader
上述两个流,就算不在线程中也是可以的,区别只是一个读成byte[],一个读成char[]
实战交叉的注意:volatile、synchronize、wait、notifyAll,其他都挺简单

join:在指定线程结束之后再结束
join(long),等待时间到,与sleep不一样的是,join是wait(join)实现

ThreadLocal
使用set(Object)和get()
各个线程的值不一样,因为实现里会去当前线程
InheritableThreadLocal
是特殊的ThreadLocal,可以自定义childValue方法,子程序返回父程序的值,可以定义initialValue(这是ThreadLocal的方法),默认的get()

猜你喜欢

转载自blog.csdn.net/qq_33321609/article/details/87988706