发布于 2021-05-14
摘要
重排序 线程内部两行代码时,执行顺序和源代码中的书写顺序不一致,就是发生了重排序,重排序现象是由以下结果导致: 编译器优化:包括J …
重排序 线程内部两行代码时,执行顺序和源代码中的书写顺序不一致,就是发生了重排序,重排序现象是由以下结果导致: 编译器优化:包括J …
Java内存模型 Java内存交互模型是一组内存操作规范,需要JVM实现来遵守,以便开发者可利用这些规范,更方便的开发多线程程序; …
多线程带来的问题 线程安全 当多线程访问一个对象时,若无需考虑下面几点(也就是无需做任何额外考虑,就想单线程那样),调用该对象的行 …
线程异常处理 子线程中捕获异常 public static void main(String[] args) { new Thre …
线程相关属性 线程ID 每个线程都有唯一的ID,线程ID是没有setter方法的,也就是不能修改的,这是因为ID是给JVM使用的 …
线程相关方法 线程等待与唤醒机制 注意事项 线程等待和唤醒的方法必须在有synchronized保护的代码块或方法中执行,并且是使 …
线程的生命周期 Java线程状态 Java中线程共有以下六种状态: New:线程新建状态,创建但还未启动的新线程的状态 Runna …
停止线程 停止线程的原则 使用interrupt()来通知线程进行中断,而不是强制停止,在Java中若想停止线程最多就是告诉该线程 …
启动线程 run方法与start方法比较 直接调用run()方法并未开启新的线程,而是在主线程中被当作一个普通的方法进行调用 调用 …
实现线程 从Java官方文档中可以查看到,无论是JDK8还是JDK11中对线程的实现方式只有两种,一种是继承Thread类重写ru …