第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/

第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第1张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第2张图片

lang包下的文件不用import
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第3张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第4张图片
Thread(Runnable target) //多个线程Thread同时处理一个任务使用一个代码块时使用Runnable接口
Thread(Runnable target,String name) //给Thread起一个名字
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第5张图片

Thread的使用

第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第6张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第7张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第8张图片
Thread.sleep(1000) //休眠1000毫秒
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第9张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第10张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第11张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第12张图片
MAX是最高的优先级 MIN是最低的 NORM是普通的
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第13张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第14张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第15张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第16张图片

实现Runnable接口两个线程使用同一个run方法并且使用join方法使某一线程独占CPU的使用

第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第17张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第18张图片
在这里插入图片描述
最后结果5050

String str = Thread.currentThread().getName(); //获取当前线程和名称

interrupt()方法的使用(中断线程当前状态)

第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第19张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第20张图片
在这里插入图片描述

synchronized应用范围

第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第21张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第22张图片

syschronized同步代码块的使用(使用后只能一个线程运行完代码块中的代码才会开始下一个线程,如果不使用同时运行)

第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第23张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第24张图片
在这里插入图片描述
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第25张图片

synchronized同步对象的使用

第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第26张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第27张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第28张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第29张图片

synchronized同步方法锁的使用

第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第30张图片
第二十一至二十二天-Java 多线程应用/继承Thread重写run方法/Thread多线程使用Runnable接口/同步代码块/同步对象/同步方法/_第31张图片

你可能感兴趣的:(java学习,java)