多线程
Thorzen
这个作者很懒,什么都没留下…
展开
-
volatile和synchronize的区别和比较
首先,我们需要对java预留字volatile和synchronize进行大概了解。volatile和synchronize都是在java多线程中可能会使用到的技术。 volatile和synchronize的比较: 1.volatile是线程同步的轻量级实现,所以volatile的性能要比synchronize好; volatile只能用于修饰变量,synchronize可以用于修饰方法、代码块。随着jdk技术的发展,synchronize在执行效率上会得到较大提升,所以synchronize在项目过程中原创 2020-10-16 13:19:53 · 1289 阅读 · 1 评论 -
线程创建的方式
线程创建的方式1.继承Thread类型重写run方法2.实现Runnable接口3.实现Callable接口 1.继承Thread类型重写run方法 public class Main extends Thread{ @Override public void run() { System.out.println("通过继承Thread类重写run方法"); } public static void main(String[] args) {原创 2020-10-14 12:33:14 · 110 阅读 · 0 评论 -
java多线程总结
文章目录1、多线程常见API1.1、 sleep()方法、wait()方法1.2 、yeild()方法、interrupt()方法1.3 、notify()、notifyAll()方法2、java线程的状态2.1、产生2.2、就绪2.3、执行2.4、死亡2.5、阻塞3、java实现多线程的方法3.1、继承Thread类:3.2、实现Runnable接口:3.3、实现Callable接口,通过FutureTask包装器创建Thread线程4、线程调度5、线程类的一些常用方法:6、线程同步7、线程数据传递 1、原创 2020-07-31 22:35:31 · 279 阅读 · 0 评论 -
多线程同步常用的辅助类
一:CountDownLatch import java.util.concurrent.CountDownLatch; class CountDownLatchDemo { /** * CountDownLatch:闭锁 * 在完成一组正在其他线程中执行的操作之前,它约束一个或多个线程一直等待。 * 可用于:子任务执行完成后再进行另一个操作。 */ static void test(int threadTaskNum) { fi原创 2020-07-27 12:03:01 · 143 阅读 · 0 评论 -
JUC-8锁现象深度剖析
现象一 多个线程使用一把锁,也就是调用同一个对象,顺序执行。 “被synchronized修饰的方法,锁的对象是方法的调用者” public class Test1 { public static void main(String[] args) { Phone phone = new Phone(); new Thread(()->{ phone.sendSms(); },"A").start();原创 2020-07-21 18:11:23 · 337 阅读 · 0 评论 -
多线程简单小结
1、多线程的特性/特点(多线程考虑的2大特点:安全和效率。每个点都需要从线程的特性来考虑) (1)安全——共享变量存在安全问题 (2)效率: 创建线程比较耗时 多个线程并发执行的,系统来进行线程间的调度——线程数、单个任务量都会影响 2、多线程的应用场景 (1)提高效率:任务量(单个任务比较耗时)比较多的时候或者任务数量比较多的时候 (2)并发:阻塞式代码会导致后边的代码无法执行,可以使用多线程 3、Thread基础API及线程状态、...原创 2020-06-01 21:26:33 · 153 阅读 · 0 评论