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

浙公网安备 33010602011771号