
并发编程
ying______
这个作者很懒,什么都没留下…
展开
-
并发编程demo记录demo26
Executor 执行某一任务,需要重写execute方法ExecutorService submitCallable(有返回值) 约等于Runnable(没有返回值)Executors 工具类 工厂类ThreadPoolFuture六种线程池fixed cached single scheduled workstealing(forkjoin基础上) forkjoinThrea...原创 2019-12-14 23:14:57 · 261 阅读 · 0 评论 -
并发编程demo记录demo25
总结:1:对于map/set的选择使用不加锁HashMapTreeMap 红黑树 本身是排好顺序的LinkedHashMap加锁 并发性不是很高HashtableCollections.sychronizedXXX //不加锁非同步的容器转变为加锁同步的容器ConcurrentHashMap 并发性要求很高ConcurrentSkipListMap 并发性要求很高且排序...原创 2019-12-14 23:06:01 · 244 阅读 · 0 评论 -
并发编程demo记录demo24 TicketSeller系列(主要介绍同步容器类)
马士兵高并发编程系列记录https://www.bilibili.com/video/av11076511/?spm_id_from=333.788.videocard.4问题描述有N张火车票,每张票都有一个编号同时有10个窗口对外售票请写一个模拟程序TicketSeller1分析下面的程序可能会产生哪些问题?重复销售超量销售import java.util.ArrayList...原创 2019-09-10 22:39:44 · 380 阅读 · 0 评论 -
并发编程demo记录demo23 Singleton(内部类实现单例模式)
马士兵高并发编程系列记录https://www.bilibili.com/video/av11076511/?spm_id_from=333.788.videocard.4线程安全的单例模式:阅读文章:http://www.cnblogs.com/xudong-bupt/p/3433643.html更好的是采用下面的方式,既不用加锁,也能实现懒加载使用内部类的单例模式不用加锁,也可以实...原创 2019-09-10 22:26:00 · 162 阅读 · 0 评论 -
并发编程demo记录demo22 ThreadLocal(线程局部变量)系列
ThreadLocal1ThreadLocal线程局部变量import java.util.concurrent.TimeUnit;public class ThreadLocal1 { volatile static Person p = new Person(); //加不加volatile打印出来都是lisi public static void main(String[]...原创 2019-09-11 09:11:35 · 207 阅读 · 0 评论 -
并发编程demo记录demo21 MyContainer(固定容量同步容器)系列
面试题:写一个固定容量同步容器(满了之后,put方法要等着,空了之后,get方法要等着),拥有put和get方法,以及getCount方法,能够支持2个生产者线程以及10个消费者线程的阻塞调用way1使用wait和notify/notifyAll来实现import java.util.LinkedList;import java.util.concurrent.TimeUnit;pu...原创 2019-09-11 09:11:50 · 206 阅读 · 0 评论 -
并发编程demo记录demo20 ReentrantLock(可重入锁)系列
ReentrantLock1reentrantlock用于替代synchronized本例中由于m1锁定this,只有m1执行完毕的时候,m2才能执行这里是复习synchronized最原始的语义import java.util.concurrent.TimeUnit;public class ReentrantLock1 { synchronized void m1() { //锁...原创 2019-09-11 09:12:01 · 458 阅读 · 0 评论 -
并发编程demo记录demo19 MyContainer(监控)系列
马士兵高并发编程系列记录https://www.bilibili.com/video/av11076511/?spm_id_from=333.788.videocard.4MyContainer1(not ok)实现一个容器,提供两个方法,add,size写两个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5个时,线程2给出提示并结束分析下面这个程序,能完成这个功...原创 2019-09-10 21:16:22 · 295 阅读 · 0 评论 -
并发编程demo记录demo1-18
马士兵高并发编程系列记录https://www.bilibili.com/video/av11076511/?spm_id_from=333.788.videocard.4demo1public class T1 { private int count = 10; private Object o = new Object(); // o可以理解为监视器,谁要指向下面那个代码,先到o那里...原创 2019-09-04 21:49:45 · 227 阅读 · 0 评论 -
Java线程同步:synchronized锁住的是代码还是对象
demo1class Sync { public synchronized void test() { System.out.println("test开始.."); try { Thread.sleep(1000); } catch (InterruptedException e) { e...转载 2019-08-28 23:26:31 · 168 阅读 · 0 评论