work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2019年12月28日

摘要: 1、我们先验证下wait可以用notify和notifyAll来唤醒 如下测试代码: 执行结果: 2、notify和notifAll的区别 两个概念 锁池EntryList 等待池 WaitSet 锁池: 假设线程A已经拥有了某个对象(不是类)的锁,而其它线程B,C想要调用这个对象的某个某个sync 阅读全文

posted @ 2019-12-28 21:53 work hard work smart 阅读(1377) 评论(0) 推荐(0) 编辑

摘要: 基本区别: 1、 sleep()来自Thread, wait() 来自Object2、sleep可以在任何地方使用wait只能在synchronized方法或者synchronized块中使用 (因为wait会释放锁,所有只有获取了锁,才会释放锁) 最主要的本质区别Thrad.sleep只会让出CP 阅读全文

posted @ 2019-12-28 21:25 work hard work smart 阅读(888) 评论(0) 推荐(0) 编辑

摘要: 方法有以下几种: 主线程等待法 使用Thread类的join()阻塞当前线程以等待子线程处理完毕 通过Callable接口实现: 通过FutureTask Or线程池获取 一、主线程等待法 如下代码 打印的结果为 将它改造成主线程等待法 这样,5秒后就能打印name的值 二、使用Thread类的jo 阅读全文

posted @ 2019-12-28 19:29 work hard work smart 阅读(442) 评论(0) 推荐(0) 编辑