多线程
文章平均质量分 84
彭大坤
java软件工程师
展开
-
技能提升:并发编程(一)
一:线程状态 1、新创建了一个线程对象。 2、就绪状态:线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。 3、运行状态:就绪状态的线程获取了CPU,执行程序代码。 4、阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,...原创 2019-03-26 09:06:00 · 283 阅读 · 0 评论 -
技能提升:并发编程(三)
十三:读写锁 1.读写锁初步认识 public class Demo1 { private Map<String, Object> map=new HashMap<>(); private ReentrantReadWriteLock readWriteLock=new ReentrantReadWriteLock(); private ReadLock r...原创 2019-04-09 21:30:12 · 168 阅读 · 0 评论 -
技能提升:并发编程(二)
3.自定义的lock(可重入) public class MyLock implements Lock { private boolean isLock=false; //用于实现可重入锁 private Thread lockBy=null; private int lockCount=0;//线程计数 @Override public synchronized vo...原创 2019-04-06 14:23:30 · 165 阅读 · 0 评论 -
技能提升:并发编程(四)
十六:ThradLoacl 1.简单使用 public class Demo2 { private ThreadLocal<Integer> threadLocal=new ThreadLocal<Integer>() { protected Integer initialValue() {//初始化值 Integer integer = new Inte...原创 2019-04-13 17:44:29 · 194 阅读 · 0 评论 -
技能提升:并发编程(五)
3.BlockingQueue(阻塞队列) //通过阻塞队列实现生产者消费者模式 public class Tmall3 { private int count=10;//队列的最大大小 private BlockingQueue<Integer> blockingQueue=new ArrayBlockingQueue<>(count); public void...原创 2019-04-23 09:08:35 · 171 阅读 · 0 评论