随笔分类 -  Java并发编程之美

[Java并发]实现两个线程交替打印奇偶数(volatile+yield实现)
摘要:###解题思路 实现一个类OddEven 有一个打印奇数的方法,有一个打印偶数的方法。 类中有一个volatile变量 ,用来控制当前状态是该哪个方法打印。 方法中打印每个数前首先判断volatile变量的状态,不该自己打印就使用Thread.yield()让出CPU,该自己就打印并调换状态。 在主 阅读全文

posted @ 2020-09-15 21:27 coding_gaga 阅读(960) 评论(0) 推荐(0)

[Java并发编程之美]第2章 并发编程的其他基础知识 补充知识
摘要:基本概念 并行与并发 并行:单位时间内多个任务同时执行(多核CPU)。 并发:同一时间段内多个任务同时都在执行(CPU时间片轮转)。 线程安全性问题 线程安全问题:指多个线程同时读写一个共享资源而没有同步措施时,导致出现脏数据或其他不可预见结果的问题。 保证线程安全方法:线程同步。 内存可见性问题 阅读全文

posted @ 2020-03-03 19:37 coding_gaga 阅读(171) 评论(0) 推荐(0)

[Java并发编程之美]第1章 线程基础 补充知识
摘要:1.2线程创建与运行 创建线程有三种方式: 1. 继承Thread类并重写run方法; 2. 实现Runnable接口的run方法,new Thread时将该类对象作为参数传入; 3. 实现Callable接口的call方法,new FutureTask时将该类对象作为参数传入,再在new Thre 阅读全文

posted @ 2020-02-28 23:13 coding_gaga 阅读(327) 评论(0) 推荐(0)

[Java并发编程之美]第1章 线程基础
摘要:第1章 线程 1.1 线程与进程 进程是操作系统资源分配和调度的基本单位,但cpu资源是分配到线程的,也就是线程是CPU分配的基本单位。 线程自己的栈资源中,存放的局部变量是线程私有的,其他线程无法访问,除此之外栈还存线程的调用栈帧。 1.2 线程创建 三种方式:实现Runnable接口的run方法 阅读全文

posted @ 2019-08-02 22:29 coding_gaga 阅读(226) 评论(0) 推荐(0)

[Java并发编程之美]第2章 synchroized关键字
摘要:synchronized关键字 synchronized块是Java提供的一种原子性内置锁,每个对象都可以把它当同步锁来用。线程在进入synchronized块钱会自动获取内部锁,这时候其他线程访问同步代码块时会被阻塞挂起。 synchronized会造成很大的系统开销,尽量避免不必要的使用。 每种 阅读全文

posted @ 2019-07-29 22:19 coding_gaga 阅读(187) 评论(0) 推荐(0)

导航