码迷,mamicode.com
首页 >  
搜索关键字:Java并发编程    ( 1354个结果
并发编程的挑战(Java并发编程的艺术)
1.上下文切换 CPU通过给每个线程分配CPU时间片来实现并发,切换过程中线程的信息从保存到再加载就是一个上下文切换。由于频繁的进行上下文切换,会消耗资源,所以并发不一定比串行快。 可以通过Lmbench3测量上下文切换的时长;可以通过vmstat测量上下文切换的次数。 减少上下文切换的方法: (1 ...
分类:编程语言   时间:2020-02-13 00:20:41    阅读次数:79
并发包中ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor继承了ThreadPoolExecutor,是一个指定一定延迟时间后或者定时进行任务调度执行的线程池 参考自《java并发编程之美》 ...
分类:其他好文   时间:2020-02-04 00:14:40    阅读次数:100
java并发编程之五、工具类
java在线程同步和互斥方面在语言和工具方面都提供了相应的支撑,与此同时,java还提供了一系列的并发容器和原子类,来使得并发编程更容易。 一。并发容器 (一)。同步容器 同步容器指的是容器本身使用synchronized关键字来同步访问,包括我们都知道的HashTable,也包括Vector和St ...
分类:编程语言   时间:2020-02-02 01:41:32    阅读次数:102
java并发编程之四、互斥
前面说了并发任务之间的分工和协作,现在说并发任务之间同样很重要,甚至更重要的一个方面,互斥。因为分工、协作和互斥这三个方面,从重要性上来讲,或许可以三分天下,但从复杂性和可探讨性来讲,互斥显然更胜一筹,对互斥的深入使用,更加体现了一个人的并发编程能力。 互斥,即同一时间只能有一个并发任务可以对数据的 ...
分类:编程语言   时间:2020-02-01 10:24:39    阅读次数:98
Java 并发编程 -- Fork/Join 框架
概述Fork/Join 框架是 Java7 提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。下图是网上流传的 Fork Join 的运行流程图,直接拿过来用了:工作窃取算法工作窃取(work-stealing)算法是指某个线程从其他队... ...
分类:编程语言   时间:2020-01-29 12:41:04    阅读次数:81
Java并发编程:Callable、Future和FutureTask
创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callab ...
分类:编程语言   时间:2020-01-28 21:20:15    阅读次数:76
Java并发编程小总结:CountDownLatch、CyclicBarrier和Semaphore
Java并发编程小总结:CountDownLatch、CyclicBarrier和Semaphore这几个类都是在JUC下,也就是java.util.concurrent包下。这两天学习了一下并发编程中的三个类的使用和一些应用场景,所以做一下记录和总结,方便自己日后再查看复现。 1、CountDow ...
分类:编程语言   时间:2020-01-21 18:18:45    阅读次数:99
java并发编程中的ReentrantLock(一)
控制台输出: 程序进程执行完毕,进程正常结束。 如果把代码中注释掉的部分放开,故意让new出来的线程跑的比main线程慢的话,控制台输出: 此时由于最后Thread-0线程一直处于await没有其他线程去唤醒了,程序进程会一直阻塞中。 最后,看一下lock.newCondition()的说明: Co ...
分类:编程语言   时间:2020-01-20 20:38:10    阅读次数:82
java并发编程04:死锁
1、什么是死锁 多线程以及多进程改善了系统资源的利用率并提高了系统的处理能力。然而,并发执行也带来了新的问题--死锁。 所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。 2、死锁产出的必要条件 以下这四个条件是死锁的必要条件,只要系统发生死锁,这些 ...
分类:编程语言   时间:2020-01-20 18:42:37    阅读次数:57
java并发编程03:线程的状态
状态类型 在指定的时间点, 一个线程有且只有一种状态。 这些状态是 JVM 的状态, 他们并没有反映操作系统的状态。 定义 Thread 的状态是定义在 Thread 内部的枚举类型。 public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIME ...
分类:编程语言   时间:2020-01-19 18:57:00    阅读次数:88
1354条   上一页 1 ... 10 11 12 13 14 ... 136 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!