随笔分类 -  并发

摘要:线程上下文切换就是一个工作的线程被另外一个线程暂停,另外一个线程占用了处理器开始执行任务的过程。系统和 Java 程序自发性以及非自发性的调用操作,就会导致上下文切换,从而带来系统开销。 CPU上下文:CPU在运行的过程中各种寄存器如:栈寄存器(Stack Pointer 、指令地址寄存器(Prog 阅读全文
posted @ 2021-09-10 09:47 guardWei 阅读(1016) 评论(0) 推荐(0)
摘要:单独使用synchronized关键字或者配合使用wait()/notify()/notifyAll()方法,关键靠对象头Mark Word的monitor锁对象,锁对象中的_EntryList 字段存放处于等待锁block状态的线程,_WaitSet用于存放因为调用了锁对象的wait()方法而处于 阅读全文
posted @ 2021-08-19 19:29 guardWei 阅读(64) 评论(0) 推荐(0)
摘要:合理配置线程池 想要合理的配置线程池首先需要分析任务特性:CPU密集型任务、IO密集型任务、混合型任务 . CPU密集型任务:尽量使用较小的线程池,一般为CPU核心数+1。CPU密集型任务的CPU使用率很高,过多的线程数运行只能增加上下文切换的次数,因此会带来额外的开销。 IO密集型任务:使用稍大的 阅读全文
posted @ 2019-08-10 21:06 guardWei 阅读(603) 评论(0) 推荐(0)