java多线程
文章平均质量分 56
kanbuqinghuanyizhang
这个作者很懒,什么都没留下…
展开
-
如何处理InterruptedException异常
InterruptedException简单描述InterruptedException异常是一个经常被误解的异常,通常情况下我们会忽视或则转化成RuntimeException并抛出:throw new RuntimeException(e);然而这种做法通常都是不正确的。InterruptedException出现一般都是因为在线程执行的时候被打断(interrupt),线程(A)不是自己打断自原创 2016-09-26 11:59:07 · 19066 阅读 · 2 评论 -
11_张孝祥_多线程_线程锁技术
转载Java并发编程:Locklocks相关类锁相关的类都在包java.util.concurrent.locks下,有以下类和接口:|---AbstractOwnableSynchronizer|---AbstractQueuedLongSynchronizer|---AbstractQueuedSynchronizer|---Condition|---Lock转载 2017-12-18 14:11:34 · 849 阅读 · 0 评论 -
02_张孝祥_Java多线程_传统定时器Timer
Timer的缺陷Timer的替代品ScheduledExecutorService简介创建到点执行,参数(TimerTask task, Date time),或者(TimerTask task, long delay)延迟多久后执行new Timer().schedule(new TimerTask() { @Override public void ru原创 2017-12-14 22:53:36 · 286 阅读 · 0 评论 -
15_张孝祥_多线程_Semaphere同步工具
Semaphere原创 2017-12-18 23:31:10 · 218 阅读 · 0 评论 -
10_张孝祥_多线程_Callable与Future的应用
Callable Runnable Future FutureTask CompletionService转载 2017-12-17 21:50:24 · 148 阅读 · 0 评论 -
09_张孝祥_多线程_java5线程并发库的应用_线程池
Executors.newFixedThreadPoolExecutors.newSingleThreadExecutorExecutors.newCachedThreadPoolExecutors.newScheduledThreadPoolExecutors.newSingleThreadScheduledExecutor原创 2017-12-16 23:25:46 · 306 阅读 · 0 评论 -
08_张孝祥_多线程_java5原子性操作类的应用
并发库java.util.concurrent在并发编程中很常用的实用工具类。原创 2017-12-16 22:22:35 · 195 阅读 · 0 评论 -
06_张孝祥_多线程_ThreadLocal类及应用技巧
ThreadLocal并不是包含Map对象,而是这些特定于线程的值保存在Thread对象中,java.lang.Thread定义了变量:ThreadLocal.ThreadLocalMap threadLocals = null,当线程终止后,这些值会作为垃圾回收。ThreadLocal.ThreadLocalMap中定义Entry[] table变量,Entry类定义为Entry(ThreadLocal k,原创 2017-12-16 18:35:56 · 342 阅读 · 0 评论 -
05_张孝祥_Java多线程_线程范围内共享变量的概念与作用
可以将每个线程用到的数据与对应的线程号存放到一个map集合中,使用数据时从这个集合中根据线程号获取对应线程的数据,就可以实现线程范围内共享相同的变量。原创 2017-12-16 13:28:36 · 264 阅读 · 0 评论 -
03_张孝祥_Java多线程_传统线程互斥技术_Synchronized
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象(this) ; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象(this); 3. 修饰一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类转载 2017-12-15 12:52:39 · 266 阅读 · 0 评论 -
01_张孝祥_Java多线程_传统线程技术回顾
Java多线程的创建方式原创 2017-12-14 17:41:17 · 256 阅读 · 0 评论 -
18_张孝祥_多线程_阻塞队列的应用
都是接口BlockingQueue<E>的实现,所有已知实现类: ArrayBlockingQueue, DelayQueue,LinkedBlockingDeque, LinkedBlockingQueue, PriorityBlockingQueue, SynchronousQueue原创 2017-12-19 20:11:51 · 202 阅读 · 0 评论 -
04_张孝祥_Java多线程_传统线程同步通信技术
一个主线程,一个子线程。子线程循环5次,接着换主线程循环10次,接着又回到子线程循环15次,接着再回到主线程又循环10次,如此循环10次原创 2017-12-16 12:53:14 · 278 阅读 · 0 评论 -
17_张孝祥_多线程_同步工具Exchanger
可以在对中对元素进行配对和交换的线程的同步点。每个线程将条目上的某个方法呈现给 exchange 方法,与伙伴线程进行匹配,并且在返回时接收其伙伴的对象。Exchanger 可能被视为 SynchronousQueue 的双向形式。Exchanger 可能在应用程序(比如遗传算法和管道设计)中很有用。构造方法摘要 Exchanger() 创建一个新的 Exchanger。原创 2017-12-19 19:23:09 · 154 阅读 · 0 评论 -
模仿ArrayBlockingQueue编写一个批处理BlockingQueue
假设有个任务是要对cassandra数据做迁移,我们先将数据写入kafka中,然后让另一方从kafka中消费数据存到其他数据库中就行了。由于cassandra查询限制比较多,查询占用的cpu资源大,如果不停歇的查数据,肯定要死机。因此,我们想通过分页进行处理(cassandra分页是个麻烦事,有兴趣可以看看别人的博客),比如每次分页1000条。我们分别起两个线程CassandraTask和Kafak原创 2016-09-26 12:48:19 · 355 阅读 · 0 评论 -
16_张孝祥_多线程_同步工具CyclicBarrier与CountDownLatch
转载: CyclicBarrier的用法 CountDownLatch(倒计时计数器)使用说明参考: CyclicBarrier和CountDownLatch区别CyclicBarrier CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不转载 2017-12-19 18:38:02 · 221 阅读 · 0 评论