多线程之间通讯
多线程之间通讯:就是多个线程在操作同一个资源,但是操作的动作不同
现在需要实现,生产一台电机,销售一台电机问题。
实现代码:
运行结果:数据发生错乱,造成线程安全问题
解决线程安全问题:通过wait()、notify来解决。
wait和sleep的区别:
wait可以指定时间也可以不指定时间,sleep必须执行时间;
在同步中时,对cup的执行和锁的处理不通;waite释放执行权,释放锁,sleep释放执行权,不释放锁。
waite必须在同步函数或者同步快中,sleep不定。
waite需要notify()或者notifyall()方法唤醒,sleep在设定是时间到了自动醒。