- //线程间通讯:其实就是多个线程在操作同一个资源,但是操作的动作不同。
- /*
- * 思路:车一存在就有煤,所以车初始化就定义煤。有可能资源属性不完整就切换了进程。线程实现同步
- * 的前提是1多(两)个线程共同操作资源的代码块要加上synchronized;2用的是同一把锁。
- * 等待唤醒机制:为了满足输入一个取出一个,在资源中添加一个标记,判断为ture时,就冻结同时唤醒另一线程。
- * 等待线程都存在线程池中的线程,notify通常唤醒第一个等待的线程。wait,notify,notifyAll都使用在同步
- * 中,因为要对持有监视器(锁)的线程操作。
- * 为数据的私有,提供了方法。
- * 生产者消费者,while循环,notifyAll
- *
- * 步骤
- * 1 描述资源
- * 2 描述输入的run
- * 3 描述输出的run
- */
- /**当没有指定的方法让冻结的线程恢复到运行状态时,
- * 这时需要对冻结进行清除。强制让线程恢复到运行状态。
- * Thread类提供了interrupt方法。
- * join抢夺cpu执行权。它结束了,主线程才恢复到执行状态。
- * join可临时加入线程执行。
- * t1.setPriority(Thread.MAX_PRIORITY);
- * Thread.yield();可稍微减缓线程的运行,具有平均执行的作用。
- * 单独封装成一个线程:独立运算,相互不相关,提高效率的方法。
- */
复制代码 |