java并发和多线程
文章平均质量分 87
一些java多线程和并发相关的知识总结
Seeker-Wu
这个作者很懒,什么都没留下…
展开
-
线程池的执行流程
合理使用线程池能够带来3个好处:1)降低资源消耗;2)提高响应速度;3)提高线程的可管理性;4)提高应该程序的高可用性。那么线程池是如何工作的呢,借用并发编程艺术一书中的话来描述当一个任务提交给线程池之后,线程池会怎么做?首先,线程池会判断核心线程池里的线程(线程总数是30,则coreSize有可能是10)是否都在执行任务。如果没有比方说当前只有9个线程在工作,则从核心线程原创 2017-07-13 08:49:26 · 6008 阅读 · 2 评论 -
Join,CountDownLatch,CyclicBarrier,Semaphore和Exchanger
CountDownLatch允许一个或者多个线程等待其他线程完成操作,之后再对结果做统一处理; 适用场景,分布式系统中对多个微服务的调用,并发执行并且必须等待全部执行完成才能继续执行后续操作; 其实在java中默认的实现是join()方法,join()方法主要的作用是当前线程必须等待直到join线程执行完成之后才能继续执行后续的操作,原创 2017-07-10 09:03:30 · 248 阅读 · 0 评论 -
线程的同步控制synchronized和lock的对比和区别
我们在面试的时候,时常被问到如何保证线程同步已经对共享资源的多线程编程。我们当然用同步代码块,同步方法,又或者是用java提供的锁机制来达到对共享资源变量的同步控制。那么我们什么时候用synchronized,什么时候用lock,以及他们的区别是什么呢;首先来说synchronized 是Java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,通过对对象的头文件原创 2017-06-26 15:57:21 · 21779 阅读 · 1 评论