使用信号灯法,让生产者(player)和消费者(watcher)区分的访问共享资源(Moive).
这种信号灯法只能在两个线程之间通信,生产者生产一个通知消费者消费一个,
消费者消费一个通知生产者生产者生产。
也可以多个生产者对应一个消费者,(将唤醒其他线程改为this.notifyAll());
但是但是由于生产与消费都是有信号flag管控,
决定者生产与消费还是对共享资源还是一对一的访问,
synchronizeds决定一次只有一个线程访问该方法,
而信号-->T 生产 信号-->F消费
所以还以一对一生产与消费。
共享资源:
//生产者:
//消费者:
/业务测试: