给大忙人看的Java核心技术笔记(10、并发编程)

本章要点:

  Runnable表述一个可以异步执行的任务

  Executor将Runnable实例列入执行计划

  Callable描述一个会产生结果的任务

  可以向ExecutorService提交一个或多个Callable实例,并且当这些Callable有执行结果后,合并这些结果

  当多个线程在没有同步的情况下操作共享数据时,其结果是不可预知的

  与使用锁机制编程相比,并行算法和线程安全的数据结构更好

  并行Stream和数组操作可以自动并且安全地将计算并行化运行

  ConcurrentHashMap是线程安全的哈希表,他允许原子更新其中的元素

  可以将AtomicLong用作无锁的共享计数器;或如果线程竞争很激烈,可以使用LongAdder

  锁确保同一时刻只有一个线程执行临界区

  当设置了中断标志或者InterruptedException异常发生时,可中断任务应该终止。长期运行的任务不应该阻塞程序的UI,但是进度和最终的更新需要在UI线程中出现

  Process类让你可以在单独的进程中执行命令并且与输入流、输出流和错误流进行交互。

posted on 2016-07-28 14:23  多看多学  阅读(191)  评论(0编辑  收藏  举报

导航