
线程
文章平均质量分 84
iteye_3893
这个作者很懒,什么都没留下…
展开
-
jdk1.5——线程创建三种方式
线程 进程 多线程: 0 线程创建方法代码: package thread;/** * 线程须知: 线程的创建方式 thread.start(); 表示启动线程,并将这个线程添加到线程池中, 启动后分配到CPU时间片后,代码自动调用这个线程的run()方法 * run()方法内执行的是线程体 * * Thread 主要看的源码...原创 2014-10-16 13:12:32 · 222 阅读 · 0 评论 -
jdk1.5——阻塞队列应用案例
1 打印日志: 原来打印16个日志需要16秒时间,现在开启4个线程,让这16个任务在4秒内完成: 思路: 0创建容量16的队列 1 将16个任务增加到 阻塞队列中 2开启4个线程,每次从队列中获取数据 这样主线程不停的放, 并发来的4个线程不停的取, 你可以理解为并发一次来了4个线程,每...原创 2014-10-23 17:39:03 · 136 阅读 · 0 评论 -
jdk1.5——可阻塞队列(自定义和jdk提供类的两种实现写法)
1 查看api 搜索关键词: BlockingQueue 可以看到具体实现类:所有已知实现类:ArrayBlockingQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, PriorityBlockingQueue, SynchronousQueue2 概念理解: 一个队列(理解成数组),一个人...原创 2014-10-21 11:09:46 · 162 阅读 · 0 评论 -
jdk1.5——同步集合类java.util.concurrent
API搜索 : java.util.concurrent eg: ConcurrentHashMap 等 看如下部分,找实例做做试试,摘抄如下 软件包 java.util.concurrent 的描述 在并发编程中很常用的实用工具类。此包包括了几个小的、已标准化的可扩展框架,以及一些提供有用功能的类,没有这些类,这些功能会很难实现或实现起来冗长乏味。下...原创 2014-10-21 10:46:52 · 228 阅读 · 0 评论 -
jdk1.5——Exchanger 交换
案例1: 买卖包子, 只能用于两个线程之间,当两个线程之间同时到达时Exchanger(可以类比于包子铺)发生数据交换,否则等待:package thread;import java.util.Random;import java.util.concurrent.Exchanger;import java.util.concurrent.TimeU...原创 2014-10-20 14:57:53 · 119 阅读 · 0 评论 -
jdk1.5——CountdownLatch(计数器线程工具同步类)
案例1: 100米田径中,裁判员1鸣枪后,运动员跑,后所有运动员到达终点,裁判员2统计结果: package thread;import java.util.Random;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;impor...原创 2014-10-20 14:46:06 · 159 阅读 · 0 评论 -
jdk1.5——线程同步类CyclicBarrier
案例1:package cn.crxy.synchronizer;import java.util.Random;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;import java.util.concurrent...原创 2014-10-20 14:29:16 · 92 阅读 · 0 评论 -
jdk1.5——Semaphore控制访问资源个数
package cn.itcast.heima2;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;/** * 控制资源的并发访问个数, 可以用于交通灯 * ...原创 2014-10-20 14:11:51 · 125 阅读 · 0 评论 -
jdk1.5——Lock/Condition使用
不管是一个condition 两个condition 三个condition 都需要一个标志未来判定案例1的 flag案例2的 count ==100 count ==0案例3的 number =1 1 Lock和Condition简介:Lock 替代 synchronized比传统线程模型synchronized更加面向对象,能够适应 "ha...原创 2014-10-20 11:42:12 · 148 阅读 · 0 评论 -
jdk1.5——readLock/writeLock
1 关于读写锁的一些特点: a) 读写锁是JVM自己控制的,我们只要上相应方法上加锁即可 b) 多个读锁共享数据/操作 c) 读锁和写锁行为互斥 d) 写锁和写锁行为互斥 2 读写锁应用案例1,package thread;import java.util.Random;import java.util.concurren...原创 2014-10-19 12:58:43 · 204 阅读 · 0 评论 -
jdk1.5——使用Executors创建线程池
利用jdk提供线程池执行任务写法, 主要是查看 API文档的 Executors 方法 package thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit...原创 2014-10-18 16:43:49 · 203 阅读 · 0 评论 -
jdk1.5——线程并发库-java.util.concurrent.atomic
在JDK API文档搜索关键词 Atomic eg: AtomicInteger AtomicIntegerArray 等, 细节请参看API 需要注意的是: jdk提供的这些类, 仅仅是针对多线程操作 成员变量时 提供的封装好的原子操作类,如果是多线程下的局部变量,不需要这种类。 J2SE 5.0提供了一组atomic class来帮助我们...原创 2014-10-18 12:27:35 · 428 阅读 · 0 评论 -
多线程-线程方法相同/不同下runnable使用 synchronized使用位置 购票
关于火车票案例中 synchronized放在代码哪里的解释: 案例1: 火车票案例 特点: 多窗口下执行的同一个操作动作,使用的同一个公共数据,使用同一个runnable对象 package thread;public class RunnableInUse { /** * 1 业务类传递给 runnabl...原创 2014-10-18 11:53:36 · 171 阅读 · 0 评论 -
jdk1.5——ThreadLocal实现线程范围的共享变量
优缺点和使用注意事项: /* * ThreadLocal 用于每一个线程都有一个次线程对应的副本。“以空间换时间” 占用内存,提高效率,节约处理时间,同时保证事物一致性 * ThreadLocal防止内存泄漏的做法-->弱引用:WeakReference extends WeakReference<ThreadLocal> * 弱引用:引用对象...原创 2014-10-17 10:46:54 · 172 阅读 · 0 评论 -
jdk1.5——多线程操作之线程同一锁下通讯写法
0 代码案例: package thread;/** * * @author zm * 执行结果:第 0 次执行B第 1 次执行A第 1 次执行B第 2 次执行A第 2 次执行B第 3 次执行A第 3 次执行B第 4 次执行A第 4 次执行B第 5 次执行A第 5 次执行B第 6 次执行A第 6 次执行B...原创 2014-10-17 10:42:59 · 84 阅读 · 0 评论 -
jdk1.5——多线程操作同一资源(互斥各种写法)
0 代码案例: package thread;public class SynchronizedThread { /** * 利用打印姓名方法 测试多线程并发执行出现的问题 * 多线程下操作同一资源,如果不带锁下,必定出现争抢资源而结果显示异常错误, * * 任何对象都可以当做是一个门栓,如果要保持同步锁,那么门栓也要是同一...原创 2014-10-16 17:04:31 · 100 阅读 · 0 评论 -
进程----线程基本知识
1 线程 进程概念: 2 线程六种状态: NEW至今尚未启动的线程处于这种状态。RUNNABLE正在 Java 虚拟机中执行的线程处于这种状态。BLOCKED受阻塞并等待某个监视器锁的线程处于这种状态。WAITING无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。TIM...原创 2015-01-15 13:49:37 · 145 阅读 · 0 评论