博客专栏  >  编程语言   >  Java并发编程

Java并发编程

Java并发编程知识学习笔记

关注
1 已关注
39篇博文
  • Java并发编程-总结-21-33

    二十一、死锁 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。这是一个严重的问题,因为死锁会让你的程序挂起无法完成任务。 死...

    2015-06-23 14:34
    464
  • Java并发编程-总结-11-20

    十一、start()和run()的区别 start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用run()方法的时候...

    2015-06-22 23:13
    349
  • Java并发编程-总结-01-10

    一、什么是并发? 并发是一个程序同时执行多个计算的能力。这可以通过把计算分布在一个机器可用的CPU内核上或者甚至在同一网络上的不同的机器来实现。 二、进程和线程的区别是什么? 进程:...

    2015-06-22 14:59
    350
  • Java并发编程-36-原子数组

    一、同步机制存在的问题 1、死锁 2、即使只有一个线程访问这个对象,仍然需要执行必须的代码来获取和释放锁 二、Compare-and-Swap-Operation 1、取得变量值,...

    2015-06-21 17:37
    361
  • Java并发编程-35-原子变量-atomic

    一、原子变量 原子变量是Java 5 开始引入的,他提供了单个变量上的原子操作。 当一个线程在对原子变量操作时,如果其他线程也试图对对同一原子变量执行操作,原子变量的实现类提供了一套机制来检查...

    2015-06-21 17:08
    381
  • Java并发编程-34-生成并发随机数-ThreadLocalRandom

    一、ThreadLocalRandom 这是一个线程本地变量,每个生成随机数的线程都有一个不同的生成器,但是都在同一个类中被管理。 current()方法:这是一个静态方法,返回与当前线程...

    2015-06-21 11:19
    1069
  • Java并发编程-33-线程安全的可遍历映射

    一、ConcurrentNavigableMap 这个接口的类用一下两个部分存放元素 一个键值,他是元素的唯一标识元素的其他部分数据 二、ConcurrentSkipLi...

    2015-06-21 11:04
    482
  • Java并发编程-32-带有延迟元素的队列-DelayQueue

    一、DelayQueue 可以存放带有激活日期的元素,当调用方法从队列中返回或提取元素时,未来日期的元素将被忽略 package concurrencycollection; impor...

    2015-06-21 00:23
    1266
  • Java并发编程-31-阻塞式优先级列表-PriorityBlockingQueue

    一、PriorityBlockingQueue 1、PriorityBlockingQueue里面的元素必须实现Comparable接口 2、PriorityBlockingQueue,这个是阻...

    2015-06-20 21:49
    405
  • Java并发编程-30-阻塞式线程安全列表-LinkedBlockingDeque

    一、LinkedBlockingDeque 这是阻塞式列表:列表为空或者已满,操作不会被立即执行,而是将调用这个操作的线程阻塞到队列直到操作可以执行成功 主要操作: public E t...

    2015-06-20 20:41
    922
  • Java并发编程-29-非阻塞式线程安全列表-ConcurrentLinkedDeque

    一、ConcurrentLinkedDeque public class ConcurrentLinkedDeque extends AbstractCollection impl...

    2015-06-20 12:14
    732
  • Java并发编程-28-并发集合概述

    一、基础概念 1、同步和异步 ----描述的是通信模式 同步:发送方发送请求后,需要等待接收方发回的响应后,才能发送下一个请求。所有的请求在服务器端得到同步,发送方和接收方对请求的处理步调是一...

    2015-06-19 22:16
    333
  • Java并发编程-27-异常处理及取消任务

    一、取消任务 ForkJoinTask类提供的cancel()方法允许取消一个仍没有被执行的任务 任务的取消对于已经发送到线程池的任务没有任何影响,他们将继续执行 Fork/Join框架的局...

    2015-06-18 21:49
    365
  • Java并发编程-26-异步运行任务

    一、异步运行任务 在ForkJoinPool中执行ForkJoinTask时,可以采用同步或者异步的方式。 同步:发送给Fork/Join线程池的方法知道任务执行完成后才会返回结果异步...

    2015-06-18 19:37
    699
  • Java并发编程-25-合并任务的结果

    一、合并任务的结果 Fork/Join 框架提供了执行任务并返回结果的能力,这些类型的任务都是通过RecursiveTask类实现的 RecursiveTask 类继承了ForkJoinTask类,...

    2015-06-18 18:46
    730
  • Java并发编程-24-创建Fork/Join线程池

    一、使用Fork/Join的步骤 1、创建用来执行任务的ForkJoinPool对象 2、创建即将在线程池中被执行的任务ForkJoinTask子类/或者ForkJoinAction子类 3...

    2015-06-18 18:24
    774
  • Java并发编程-23-Fork/Join 框架概述

    一、Java 并发的总结 1、通常,使用Java开发简单的并发应用程序时,会创建一些Runnable对象,然后创建对应的Thread对象来控制程序这些线程的创建,执行,以及线程的状态 2、Ja...

    2015-06-17 23:00
    549
  • Java并发编程-22-处理在执行器中被拒绝的任务

    一、被拒绝的任务 1、当我们想结束执行器的执行时,调用shutDown()方法 2、但是,执行器只有等待正在运行的任务或者等待执行任务结束之后,才能真正结束 3、如果在执行器shutDown...

    2015-06-17 21:40
    336
  • Java并发编程-21-在执行器中分离任务的启动与结果的处理

    一、在执行器中分离任务的启动与结果的处理 1、通常情况下,使用线程执行器来执行并发任务,将runnable或callable任务发送给线程执行器,并获得Future对象来控制任务 2、特殊情形...

    2015-06-17 21:08
    360
  • Java并发编程-20-在执行器中取消任务和控制任务的完成

    一、在执行器中取消任务 使用执行器,不需要管理线程,只需要实现Runnable或Callable 任务,并发送任务给执行器即可 执行器负责创建线程,管理线程池中的线程,当线程不再需要时就销毁它...

    2015-06-17 18:18
    422

Windows C/C++/C# 编程
1306389683
FFmpeg
1353650895
经典算法研究
323274086
微软面试100题系列
183182289
Java开发进阶
663048713
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部