Java并发编程与高并发之多线程
摘要:1、线程池,初始化好线程池的实例以后,将要执行的任务丢到线程池里面,等待任务的调度执行。 2、使用new Thread的弊端。 弊端一、每次new Thread新建对象,性能差, 弊端二、线程缺乏统一管理,可以无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或者OOM。 弊端三,缺少更多功
阅读全文
posted @
2020-01-21 11:11
别先生
阅读(839)
推荐(0) 编辑
Java并发编程与高并发之线程并发容器
摘要:1、并发容器及安全共享策略总结,并发容器J.U.C(即java.util.concurrent)。J.U.C同步器AQS。 1.1、相比于ArrayList,这个线程不安全的。CopyOnWriteArrayList,写操作的时候复制,当有新元素添加到CopyOnWriteArrayList的时候,
阅读全文
posted @
2020-01-18 11:43
别先生
阅读(388)
推荐(0) 编辑
Java并发编程与高并发之线程安全策略
摘要:1、安全的发布对象,有一种对象只要发布了,就是安全的,就是不可变对象。一个类的对象是不可变的对象,不可变对象必须满足三个条件。 1)、第一个是对象创建以后其状态就不能修改。 2)、第二个是对象所有域都是final类型的。 3)、第三个是对象是正确创建的(在对象创建期间,this引用没有逸出)。 3、
阅读全文
posted @
2020-01-09 20:46
别先生
阅读(903)
推荐(0) 编辑
Java并发编程与高并发之安全发布对象
摘要:1、安全发布对象的发布与逃逸。 发布对象,使一个对象能够被当前范围之外的代码所使用。 对象逸出,一种错误的发布,当一个对象还没有构造完成时,就使它被其他线程所见。 如果不正确的发布了可变对象,会造成两种错误,首先是发布线程以外的任何线程都可以看到被发布对象的过期的值。其次呢,线程看到的被发布对象的引
阅读全文
posted @
2020-01-09 19:34
别先生
阅读(615)
推荐(0) 编辑
Java并发编程与高并发之线程安全性(原子性、可见性、有序性)
摘要:1、并发的基本概念:同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时存在的,每个线程都处于执行过程中的某个状态。如果允许在多核处理器上,此时程序中的每个线程都将分配到一个处理器核上,因此可以同时运行。并发,多个线程操作相同的资源,保证线程安全,合
阅读全文
posted @
2020-01-09 19:34
别先生
阅读(841)
推荐(0) 编辑