黑马程序员技术交流社区
标题:
多线程部分学习小总结
[打印本页]
作者:
saghir
时间:
2015-4-25 18:10
标题:
多线程部分学习小总结
//懒汉式 考点:1延迟加载2双重判断减少判断次数3synchronized的参数是类的字节码对象,非静态方法才使用默认的this锁
//写个死锁程序 考点:同步中嵌套同步,锁却不同。
//线程间通讯:其实就是多个线程在操作同一个资源,但是操作的动作不同。
复制代码
作者:
saghir
时间:
2015-4-25 19:20
//线程间通讯:其实就是多个线程在操作同一个资源,但是操作的动作不同。
/*
* 思路:车一存在就有煤,所以车初始化就定义煤。有可能资源属性不完整就切换了进程。线程实现同步
* 的前提是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();可稍微减缓线程的运行,具有平均执行的作用。
* 单独封装成一个线程:独立运算,相互不相关,提高效率的方法。
*/
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2