
多线程
manbufenglin
技术兴趣:大数据技术、技术架构、JAVA、数据库开发,C#(Asp.NET)等;
展开
-
并发工具类 countDownLatch、CyclicBarrier与Semaphore
1、等待多线程完成的 CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作。 它的构造函数接受一个int类型的参数作为计数器,如果想等待N个点完成,这里传入N即可。 调用countDown方法时,N就会减1,await方法会阻塞当前线程直到N为0时。N个点可以是N个线程,也可以是同一线程中的N个点。 比如如下代码实现等待N个线程执行并发并等待N...原创 2018-11-01 17:49:56 · 173 阅读 · 0 评论 -
并发编程——上线文切换、死锁
1、什么是线程上线文切换 时间片是CPU分配给线程执行的时间,由于时间片非常短,所以CPU通过不停切换线程执行。时间片时长一般几十毫秒。 在切换线程前会保存当前任务线程的状态,以便下次再切回这个任务时可以再加载这个任务 的状态。任务从保存到再次加载的过程是一次上线文切换。 2、死锁 线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。 pu...原创 2018-11-25 13:23:22 · 399 阅读 · 0 评论