上一页 1 ··· 61 62 63 64 65 66 67 68 69 ··· 124 下一页
摘要: public class Demo4ABA { private static AtomicInteger ai = new AtomicInteger(100); private static AtomicStampedReference air = new AtomicStampedReferen 阅读全文
posted @ 2021-11-21 12:09 AngDH 阅读(45) 评论(0) 推荐(0)
摘要: public class Demo3Volatile { public static void main(String[] args) throws InterruptedException { VolatileDemo demo = new VolatileDemo(); List<Thread> 阅读全文
posted @ 2021-11-20 20:20 AngDH 阅读(34) 评论(0) 推荐(0)
摘要: public class Demo1Jmm { public static void main(String[] args) throws InterruptedException { JmmDemo demo = new JmmDemo(); Thread t = new Thread(demo) 阅读全文
posted @ 2021-11-20 20:11 AngDH 阅读(28) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-11-19 10:25 AngDH 阅读(82) 评论(0) 推荐(0)
摘要: 多线程并发开发中,要知道什么是多线程的原子性,可见性和有序性,以避免相关的问题产生。 2.1 原子性 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A 阅读全文
posted @ 2021-11-17 22:27 AngDH 阅读(116) 评论(0) 推荐(0)
摘要: Thread.yield()方法的作用:暂停当前正在执行的线程,并执行其他线程。(可能没有效果) yield()让当前正在运行的线程回到可运行状态,以允许具有相同优先级的其他线程获得运行的机会。因此,使用yield()的目的是让具有相同优先级的线程之间能够适当的轮换执行。但是,实际中无法保证yiel 阅读全文
posted @ 2021-11-17 21:33 AngDH 阅读(81) 评论(0) 推荐(0)
摘要: join作用是让其他线程变为等待。thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 public class Demo11Join { public static 阅读全文
posted @ 2021-11-17 21:32 AngDH 阅读(158) 评论(0) 推荐(0)
摘要: public class Demo10Priorityt { public static void main(String[] args) { PrioritytThread prioritytThread = new PrioritytThread(); // 如果8核CPU处理3线程,无论优先级 阅读全文
posted @ 2021-11-17 21:15 AngDH 阅读(42) 评论(0) 推荐(0)
摘要: 1.5 线程停止 结束线程有以下三种方法: (1)设置退出标志,使线程正常退出。 (2)使用interrupt()方法中断线程。 (3)使用stop方法强行终止线程(不推荐使用Thread.stop, 这种终止线程运行的方法已经被废弃,使用它们是极端不安全的!) public class Demo8 阅读全文
posted @ 2021-11-17 01:20 AngDH 阅读(109) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-11-17 00:21 AngDH 阅读(22) 评论(0) 推荐(0)
上一页 1 ··· 61 62 63 64 65 66 67 68 69 ··· 124 下一页