摘要: 同步技术的原理 同步技术的原理:使用了一个锁对象,这个锁对象叫同步锁,也叫对象监视器 3个线程—起抢夺cpu的执行权谁抢到了谁执行run方法进行卖票 t0抢到了cpu的执行权执行run方法,遇到synchronized代码块这时t0会检查synchronized代码块是否有锁对象 发现有,就会获取到 阅读全文
posted @ 2022-07-08 16:43 xjw12345 阅读(449) 评论(0) 推荐(0)
摘要: 线程安全问题产生的原理 解决线程安全问题——同步代码块 同步代码块:synchronized 关键字可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。 格式: synchronized(同步锁){ 需要同步操作的代码 } 注意: 1、通过代码块中的锁对象.,可以使用任意的对象 2、但是 阅读全文
posted @ 2022-07-08 16:00 xjw12345 阅读(50) 评论(0) 推荐(0)
摘要: 线程安全问题的概述 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。 程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 线程安全问题的代码实现 class RunnaleImpl implements Runnable{ //定义一个多个 阅读全文
posted @ 2022-07-08 15:02 xjw12345 阅读(28) 评论(0) 推荐(0)
摘要: Thread和Runnable的区别 实现Runnable接口创建多线程程序的好处: 1.避兔了单维承的局限性 一个类只能继承一个类(一个人只能有一个亲爹),类继承了Thread类就不能继承其他的类 实现了RunnabLe接口,还可以继承其他的类,实现其他的接口 2.增强了程序的扩展性,降低了程序的 阅读全文
posted @ 2022-07-08 14:30 xjw12345 阅读(139) 评论(0) 推荐(0)
摘要: Thread类的常用方法sleep方法 public static void sleep(Long millis):使当前正在执行的线程以指定的毫秒数暂停〈暂时停止执行)。 毫秒数结束之后,线程继续执行 public class Demo01GetThreadName { public static 阅读全文
posted @ 2022-07-08 14:07 xjw12345 阅读(147) 评论(0) 推荐(0)
摘要: Thread类的常用方法获取线程名称的方法 获取线程的名称: 1.使用Thread类中的方法getName() String getName(返回该线程的名称。 2.可以先获取到当前正在执行的线程,使用线程中的方法getName()获取线程的名称 static Thread currentThrea 阅读全文
posted @ 2022-07-08 13:47 xjw12345 阅读(1287) 评论(0) 推荐(0)
摘要: 多线程原理随机性打印结果 执行原理: 多线程内存图解 阅读全文
posted @ 2022-07-08 13:25 xjw12345 阅读(30) 评论(0) 推荐(0)
摘要: 线程调度 分时调度 所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。 抢占式调度 优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性), Java使用的为抢占式调度。 设置线程优先级 抢占式调度详解 大部分操作系统都支持多进程并发运行,现在的操作系 阅读全文
posted @ 2022-07-08 11:36 xjw12345 阅读(77) 评论(0) 推荐(0)
摘要: 并发与并行 并发:指两个或多个事件在同一个时间段内发生 并行:指两个或多个事件在同一个时刻发生(同时发生) 线程与进程的概念 进程︰是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程; 进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序 阅读全文
posted @ 2022-07-08 09:46 xjw12345 阅读(61) 评论(0) 推荐(0)