A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© saghir 中级黑马   /  2015-4-25 18:10  /  500 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. //懒汉式 考点:1延迟加载2双重判断减少判断次数3synchronized的参数是类的字节码对象,非静态方法才使用默认的this锁

  2. //写个死锁程序 考点:同步中嵌套同步,锁却不同。

  3. //线程间通讯:其实就是多个线程在操作同一个资源,但是操作的动作不同。

复制代码

1 个回复

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