随笔分类 -  Multi-Thread

多线程、线程、线程池
nio & epoll
摘要:https://zh.wikipedia.org/wiki/Select_(Unix) epoll 由 3 个系统调用组成:epoll_create、epoll_ctl、epoll_wait 具体见: https://www.cnblogs.com/anker/p/3263780.html 数据接收 阅读全文
posted @ 2020-09-06 21:24 快鸟 阅读(205) 评论(0) 推荐(0) 编辑
线程安全的 Set、List
摘要:线程安全的Set: 1 java.util.Collections.synchronizedSet(Sets.newHashSet()); // jdk提供的,使用同步来保证线程安全 2 new java.util.concurrent.CopyOnWriteArraySet<>(); // jdk 阅读全文
posted @ 2020-08-20 09:53 快鸟 阅读(3120) 评论(0) 推荐(0) 编辑
sleep()、wait() 和 park() 的区别
摘要:参考:https://blog.csdn.net/u013332124/article/details/84647915 阅读全文
posted @ 2020-07-18 17:51 快鸟 阅读(1799) 评论(0) 推荐(1) 编辑
java 中锁的分类
摘要:参考:http://blog.itpub.net/31545684/viewspace-2375117/ 阅读全文
posted @ 2020-07-15 22:32 快鸟 阅读(138) 评论(0) 推荐(0) 编辑
happens-before 原则 && volatile 在单例模式中的应用
摘要:https://docs.oracle.com/javase/specs/jls/se8/html/jls-17.html#jls-17.4 Happens-before 的定义 通过上面的定义,我们得出 happens-before 的原则: happens-before 定义了什么时候会发生数据 阅读全文
posted @ 2020-07-13 17:14 快鸟 阅读(265) 评论(0) 推荐(0) 编辑
线程池
摘要:线程池分两种:普通线程池——ThreadPoolExecutor定时线程池——ScheduledThreadPoolExecutor 当前线程数还没有达到 corePoolSize 之前,新任务总是会 new 一个新的线程出来。当达到 corePoolSize 之后,任务就会入 workQueue, 阅读全文
posted @ 2020-07-12 16:39 快鸟 阅读(209) 评论(0) 推荐(0) 编辑
线程的状态和生命周期
摘要:线程状态的转换(java.lang.Thread.State 里面有 6 种线程状态): 1、NEW 状态用 new Thread() 建立一个线程对象后,该线程对象就处于 NEW 状态。 2、RUNNABLE 状态通过调用线程的 start() 进入 RUNNABLE 状态。在操作系统层面,对 R 阅读全文
posted @ 2017-04-22 11:03 快鸟 阅读(3474) 评论(0) 推荐(0) 编辑