被世界遗弃的江的博客

我正在城楼观山景, 耳听得城外乱纷纷。

排序:
默认
按更新时间
按访问量

深入学习理解java-ThreadLocal

ThreadLocal是什么?有什么用?怎么用? 1。ThreadLocal是什么 带着这样的问题我们来学习一下java并发编程中的一个重要的角色分子ThreadLocal。 早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的...

2017-02-23 16:05:20

阅读数:3296

评论数:4

深入学习理解java:高效的解决死锁问题的线程通讯方式:Semaphore 和 BlockingQueue

经典原始问题:生产者和消费者的问题,其实在实际项目中很容易遇到这样的无奈的问题,但是面对这样的问题的时候我们首先想到的就是多线程批处理,通过notify()…………的处理,但只这样的处理只能给我们贴上对java多线程不熟悉的标签。比较赞的办法是用Semaphore 或者 BlockingQueue...

2017-02-23 18:45:48

阅读数:928

评论数:0

深入学习理解java:CountDownLatch详解

今天在公司学习看到了它,翻一番文档,正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,...

2016-11-12 15:33:43

阅读数:4111

评论数:2

Java并发编程:并发容器之CopyOnWriteArrayList(转载)

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实...

2016-10-23 16:56:22

阅读数:205

评论数:0

ExecutorService中submit和execute的区别

在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性。 一、创建任务任务就是...

2016-06-27 17:59:07

阅读数:866

评论数:0

深入学习理解java:CompletionService解决ExecutorService的submit方法的缺点

在ExecutorService的submit方法中可以获取返回值,通过Future的get方法,但是这个Future类存在缺陷,Future接口调用get()方法取得处理后的返回结果时具有阻塞性,也就是说调用Future的get方法时,任务没有执行完成,则get方法要一直阻塞等到任务完成为止。 ...

2016-06-27 17:49:01

阅读数:2441

评论数:2

Java 并发学习之ExecutorService

在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性 一、创建任务 任务就...

2016-06-24 09:33:48

阅读数:1200

评论数:0

深入学习理解java:ExecutorService invokeAll 任务的批量提交invokeAll两种方法的区别

ExecutorService的invokeAll方法有两种用法:1.exec.invokeAll(tasks)2.exec.invokeAll(tasks, timeout, unit)其中tasks是任务集合,timeout是超时时间,unit是时间单位两者都会堵塞,必须等待所有的任务执行完成...

2016-06-23 09:43:31

阅读数:8863

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭