![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java多线程
lpl312905509
这个作者很懒,什么都没留下…
展开
-
java 多线程volatile的作用
/** * * volatile 关键字,使一个变量在多个线程间可见 * A B线程都用到一个变量,java默认是A线程中保留一份copy,这样如果B线程修改了该变量,则A线程未必知道 * * 使用volatile关键字,会让所有线程都会读到变量的修改值 * * 在下面的代码中,running是存在于堆内存的t对象中 * * 当线程t1开始运行的时候,会把running值从内存中读到t1线程的工作区,在运行过程中直接使用这个copy,并不会每次 * 都去读取堆内存,这样当线程修原创 2020-08-19 08:30:53 · 154 阅读 · 0 评论 -
java sleep、yield、join
public class T03_Sleep_Yield_Join { public static void main(String[] args) { // testSleep(); testYield(); // testJoin(); } /** Sleep 意思就是睡眠,当前线程暂停一段时间让给别的线程去运行,Sleep是怎么复活的? 由你的睡眠时间决定,等睡眠到规定时间自动复活 */ s原创 2020-08-18 20:50:39 · 104 阅读 · 0 评论 -
Java创建线程的几种方式
/** * * 启动线程的三种方式: * 1. new Thread().start() * 2. new Thread(Runnable).start() * 3. Executors.newCacheThreadPool()或者FutureTask.Callable (原理同1,2) * 有人说四种,没关系 后两种都是基于线程池实现,而后两种又是基于前两种实现 */ public class T02_HowToCreat原创 2020-08-18 20:48:06 · 88 阅读 · 0 评论