
并发编程
杜_小妖
穷则独善其身,达则兼济天下
展开
-
并发编程之——线程池
为什么要用线程池?线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后再线程创建后启动这些任务,如果线程数量超过了最大数量,超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。他的主要特点为:线程复用、控制最大并发数,管理线程。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到...原创 2019-09-13 12:39:13 · 334 阅读 · 0 评论 -
java锁—公平/非公平锁、可重入锁、自旋锁、共享/独占锁
文章目录公平和非公平锁可重入锁 (又称递归锁)自旋锁共享锁 和 独占锁公平和非公平锁公平锁 是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。非公平锁 是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁在高并发的情况下,有可能会造成优先级反转或者饥饿现象区别:非公平锁的优点在于吞吐量比公平锁大。Synchronized、Reentran...原创 2019-09-16 18:30:57 · 947 阅读 · 0 评论