![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
Sunlalalla
好记性不如烂笔头,细节决定成败
展开
-
自定义缓存学习
package cache; import java.util.HashMap; import java.util.Map; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; public class CacheManagement{ //定义一个Map,相当于缓存池 priv.原创 2020-06-19 20:58:51 · 220 阅读 · 0 评论 -
两个线程输出1a2b3c4d...
package Thread; public class ThreadDemo2 { static Thread t1 = null,t2 = null; static boolean flag = true;//true表示数字启动 static String obj = "obj"; public static void main(String[] args) { final char[] iArr = "123456".toCharArray().原创 2020-05-28 22:13:40 · 869 阅读 · 0 评论 -
多线程(一)——线程池概念
知识点复习: 1、数据库连接池——jdbc连接池优化 2、经常创建、启动一个线程是非常耗时的过程 3、线程的生命状态:新建、准备、启动、休眠 新知识: 一、合理利用线程池的3个好处 1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的损耗 2 )提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即 3)提高线程的可管理性。线程是稀缺资源,如果无限制地创建,部件会消耗...原创 2019-09-13 21:37:03 · 141 阅读 · 0 评论 -
多线程(二)——四种线程池举例
一、可缓存的线程池——newCachedThreadPool package thread.pool; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * 该类使用了缓存线程池,体现了线程池重复利用的特点 * 用到的知识点有:匿名内部类只能使用外部被final...原创 2019-09-17 21:47:51 · 135 阅读 · 0 评论 -
多线程(三)——线程池配置、悲观锁和乐观锁
1、java中的线程池核心使用的是ThreadPoolExcutor的构造函数 2、线程池的合理配置 遵循原则: 1)CPU密集型:线程数和CPU数相同 2)IO密集型:操作数据库、io等待、阻塞、休眠,配置为2*CPU数 锁机制: 1、悲观锁 每次在拿数据的时候都会上锁 举例: 查询数据时sql后面加for update表示悲观锁 缺点:只能保证一个连接操作,导致效率低 2、乐观锁 会有一个...原创 2019-10-06 11:53:07 · 234 阅读 · 0 评论 -
多线程(四)——重入锁和读写锁以及CAS无锁机制
概念: 1、在java环境下ReentrantLock和synchronized都是可重入锁 2、非重入锁会导致死锁 3、重入锁,传递给下一个方法,重复使用 重入锁测试代码: package thread.pool; /** * 重入锁、非重入锁 * @author Administrator * */ public class Test5 implements Runnable...原创 2019-10-08 22:30:41 · 171 阅读 · 0 评论