随笔分类 - Multithread
摘要:Java 线程锁机制 -Synchronized Lock 互斥锁 读写锁 什么是互斥锁?在访问共享资源之前对进行加锁操作,在访问完成之后进行解锁操作。 加锁后,任何其他试图再次加锁的线程会被阻塞,直到当前进程解锁。 如果解锁时有一个以上的线程阻塞,那么所有该锁上的线程都被编程就绪状态, 第一个变为
阅读全文
摘要:ReentrantLock 由于ReentrantLock是java.util.concurrent包下提供的一套互斥锁,相比Synchronized,ReentrantLock类提供了一些高级功能,主要有以下3项: 1.等待可中断,持有锁的线程长期不释放的时候,正在等待的线程可以选择放弃等待,这相
阅读全文
摘要:原子性,在多线程里面,一段代码作为一个整体,一个线程在执行,要么执行成功要么执行失败。而其他的线程必须要等待当前的线程执行完才能进行响应的操作,否则只能等待 synchronized由两个部分组成锁的对象引用和锁保护的代码快 线程a尝试获取一个线程b持有的锁是,线程a必须等待或者阻塞,知道线程b释放
阅读全文
摘要:Java并发编程:线程池的使用 Excutors里面创建线程池的方法newFixedThreadPool,newCachedThreadPool,newSingleThreadPool里面调用的都是ThreadPoolExecutor这个类 Java并发编程:线程池的使用 在前面的文章中,我们使用线
阅读全文
摘要:在创建线程池的时候不管你创建的是newFixedThreadPool,还是newCachedThreadPool,还是newSingleThreadPool 在里面调用的都是new ThreadPoolExecutor这个类,知识传入的参数值不同而已 实例: public static Execut
阅读全文
摘要:Java的Executor框架和线程池实现原理, callable, Future, Runnable https://blog.csdn.net/tuke_tuke/article/details/51353925 一,Java的Executor框架 1,Executor接口 public int
阅读全文