Java多线程
余建新-18588497759
这个作者很懒,什么都没留下…
展开
-
10-java5的线程锁技术
一、主要内容jdk1.5提供的线程锁。二、代码import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class LockTest { public static void main(String[] args) { new Loc原创 2015-03-25 23:05:37 · 496 阅读 · 0 评论 -
16-Exchanger使用
一、主要内容Exchanger使用。同一时刻,互相交换内容后,才继续往下进行。二、代码import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Exchan原创 2015-03-29 21:04:13 · 373 阅读 · 0 评论 -
4-使用synchronized实现线程间通信-实现线程间通信方式(1)
一、主要内容实现子线程运行10次,主线程运行100次,子线程、主线程交替进行,此过程循环进行50次。二、代码实现package cn.yjx.thread;public class TraditionalThreadCommunication { public static void main(String[] args) { final Business b原创 2015-03-23 01:08:27 · 695 阅读 · 0 评论 -
2-传统定时器技术
一、主要内容传统定时器技术二、代码实现package cn.itcast.heima2;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class TraditionalTimerTe原创 2015-03-22 07:30:33 · 565 阅读 · 0 评论 -
5-线程范围内共享变量
一、主要内容线程范围内共享变量。二、代码实现package cn.itcast.heima2;import java.util.HashMap;import java.util.Map;import java.util.Random;public class ThreadScopeShareData { private static int data = 0原创 2015-03-23 01:57:57 · 542 阅读 · 0 评论 -
20-BlockingQueue应用
一、主要内容BlockingQueue提高程序效率。二、代码import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public class Test1 { public static void main(String[] args) { f原创 2015-03-31 05:53:27 · 616 阅读 · 0 评论 -
22-CopyOnWriteArrayList应用
一、主要内容CopyOnWriteArrayList应用。代码实现相同key的对象,不能同时刻运行;不同key,可以。二、代码import java.util.Iterator;import java.util.concurrent.CopyOnWriteArrayList;// 不能改动此Test类 public class Test extends Th原创 2015-03-31 06:51:09 · 425 阅读 · 0 评论 -
21-Semaphore应用
一、主要内容Semaphore信号量实现有序消费。二、代码import java.util.concurrent.Semaphore;import java.util.concurrent.SynchronousQueue;public class Test2 { public static void main(String[] args) { final Se原创 2015-03-31 06:12:47 · 472 阅读 · 0 评论 -
6-ThreadLocal类
一、主要内容ThreadLocal类。二、代码import java.util.Random;public class ThreadLocalTest { private static ThreadLocal x = new ThreadLocal();// private static ThreadLocal myThreadScopeData = new Thre原创 2015-03-24 04:52:38 · 381 阅读 · 0 评论 -
7-多个线程之间共享数据
一、主要内容启动4个线程,两个线程对共享变量+1,两个线程对共享变量-1。二、代码实现public class MultiThreadShareData { private static ShareData1 data1 = new ShareData1(); public static void main(String[] args) { // 方式1,da原创 2015-03-24 05:16:40 · 471 阅读 · 0 评论 -
8-java5线程并发库的应用
一、主要内容jdk1.5提供的线程并发库。二、代码实现import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;public class ThreadPoolTest { public s原创 2015-03-24 05:52:39 · 612 阅读 · 0 评论 -
17-java5阻塞队列的应用
一、主要内容ArrayBlockingQueue、BlockingQueue使用。二、代码import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public class BlockingQueueTest { public stat原创 2015-03-29 22:53:09 · 557 阅读 · 0 评论 -
10-Callable与Future的应用
一、主要内容jdk1.5提供的线程并发库。二、代码实现import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import java.util.concurrent.ExecutionException;imp原创 2015-03-24 06:07:24 · 428 阅读 · 0 评论 -
19-java5同步集合类
一、主要内容java5提供了同步集合类,在多线程访问集合时使用。二、代码import java.util.Collection;import java.util.Iterator;import java.util.concurrent.CopyOnWriteArrayList;public class CollectionModifyExceptionTest {原创 2015-03-30 07:35:54 · 759 阅读 · 0 评论 -
11-java5读写锁技术
一、主要内容jdk1.5提供的读写锁。下面模拟一个缓存类,示意图:二、代码import java.util.Random;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public原创 2015-03-26 06:21:19 · 573 阅读 · 0 评论 -
12-2-多condition实现可阻塞消息队列
一、主要内容二、代码class BoundedBuffer { final Lock lock = new ReentrantLock(); // 线程间同步 final Condition notFull = lock.newCondition(); // 线程间通信 final Condition notEmpty = lock.newCondition(原创 2015-03-26 07:22:01 · 612 阅读 · 0 评论 -
12-3-三个condition实现3个线程间通信
一、主要内容使用3个condition变量,实现main thread、sub2 thread、sub3 thread依次运行10次、20次、30次,此过程循环进行50次。二、代码import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.uti原创 2015-03-26 23:17:00 · 631 阅读 · 0 评论 -
13-Semaphore使用
一、主要内容Semaphore使用二、代码import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;public class SemaphoreTest { public stat原创 2015-03-29 01:05:09 · 463 阅读 · 0 评论 -
14-CyclicBarrier使用
一、主要内容CyclicBarrier使用二、代码import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class CyclicBarrierTest {原创 2015-03-29 01:17:09 · 492 阅读 · 0 评论 -
Java多线程之生产者消费者实例
实例说明:实例代码:package multithread.zxx.yjx;public class ProducerConsumerTest { public static void main(String[] args) { new ProducerConsumerTest().init(); } private void init() { Food原创 2015-01-06 21:17:52 · 975 阅读 · 0 评论 -
1-传统多线程技术
一、主要内容实现多线程的两种方式二、代码实现package cn.yjx.thread;public class TraditionalThread { public static void main(String[] args) { // 主线程 try { Thread.sleep(500); } catch (InterruptedEx原创 2015-03-22 07:03:36 · 626 阅读 · 0 评论 -
3-传统线程互斥技术
一、主要内容传统线程互斥技术,synchronized的使用。synchronized,对对象加锁,只允许一个线程对变量进行操作。二、代码实现package cn.yjx.thread;public class TraditionalThreadSynchronized { public static void main(String[] args) { new Tra原创 2015-03-22 08:26:42 · 573 阅读 · 0 评论 -
12-使用java5条件阻塞condition实现线程间通信-实现线程间通信方式(2)
一、主要内容jdk1.5并发库中的Lock提供了类似传统Synchronized的同步锁机制,但无法实现线程间通信;Condition则实现线程间通信。demo:实现子线程运行10次,主线程运行100次,子线程、主线程交替进行,此过程循环进行50次。二、代码import java.util.concurrent.locks.Condition;import java.原创 2015-03-26 06:47:45 · 632 阅读 · 0 评论 -
18-java5阻塞队列实现线程间通信-实现线程间通信方式(3)
一、主要内容实现子线程运行10次,主线程运行100次,子线程、主线程交替进行,此过程循环进行50次。二、代码import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public class BlockingQueueCommunication {原创 2015-03-30 05:34:46 · 711 阅读 · 0 评论 -
15-CountDownLatch使用
一、主要内容CountDownLatch使用二、代码import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class CountdownLatchTest原创 2015-03-29 01:56:38 · 495 阅读 · 0 评论