随笔分类 -  并发编程

并发编程:synchronized的理解
摘要:用synchronized修饰方法:如果该对象中有多个同步方法,则当一个线程获执行对象中的一个synchronized方法,则该对象中其它同步方法也不允许别的线程执行 等同于 同步代码块 当没有明确的对象作为锁,只是想让一段代码同步时,能够创建一个特别的instance变量(他得是个对象)来充当锁 阅读全文

posted @ 2017-04-25 17:12 感遇 阅读(176) 评论(0) 推荐(0)

并发编程:线程池使用
摘要:线程池大小计算公式 N_thread = N_cpu * U_cpu * (1+W/C) U_cpu: target of CPU utilization W/C: rate of wait time to compute time 配置ThreadPoolExecutor 扩展ThreadPool 阅读全文

posted @ 2017-04-10 23:44 感遇 阅读(242) 评论(0) 推荐(0)

并发编程:取消与关闭
摘要:取消标志:任务可能永远不会检查取消标志,如BlockingQueue.put阻塞操作、 中断: 响应中断 注:只有实现了线程中断策略的代码才可以屏蔽中断请求 在专门的线程中中断任务:RethrowableTask是主线程,r是子线程,t在两线程中共享 非标准取消操作 1)处理不可中断的阻塞:改写写i 阅读全文

posted @ 2017-04-09 13:25 感遇 阅读(263) 评论(0) 推荐(0)

并发编程:任务执行
摘要:1、每当看到下面这种代码 new Thread(runnable).start() 时,请考虑用Executor 2、Executor 1)创建方式:Executors.new.. 2)通过使用Executor,可以实现各种调优、管理、监视、记录日志、错误报告 3)Executor有4个生命周期:创 阅读全文

posted @ 2017-04-08 22:43 感遇