java之多线程简单总结(在我的博客中每一个都有详细解释和实现)

    科技2026-04-01  17

    1.多线程 (1)多线程:一个应用程序有多条执行路径 进程:正在执行的应用程序 线程:进程的执行单元,执行路径 单线程:一个应用程序只有一个执行路径 多线程:一个应用程序有多个执行路径 多进程的意义? 提高CPU的使用率 多线程的意义 提高应用程序的使用率 (2)Java程序的运行原理和JVM启动是多线程吗? A:Java命令去启动JVM,JVM会启动一个进程,该进程会启动一个主线程 B:JVM的启动是多线程,因为它最低有另个线程启动了,主线程和垃圾回收线程 (3)多线程的实现方案 A:继承Thread B:实现Runnable接口 (4)线程的调度和优先级问题 A:线程的调度 a:分时调度 b:抢占式调度(Java采用的该调度) B:获取和设置线程的优先级 a:默认是 5 b:范围是1-10 (5)线程的控制 A:线程休眠 B:线程加入 C:线程礼让 D:后台线程 E:终止线程 (6)线程的生命周期 A:新建 B:就绪 C:运行 D;堵塞 E:死亡 (7)电影院买票程序 A:继承Thread B:实现Runnable接口 (8)电影院买票程序出现问题 A:为了跟符合真是场景,加入了休眠100毫秒 B:买票的问题 a:同票多次 b:负数票 (9)多线程安全问题的原因(也是我们以后判断一个程序是否有线程安全问题的依据) A:是否有多线程环境 B:是否有共享数据 C:是否有多条语句操作共享数据 (10)同步解决多线程安全问题 A:同步代码块 synchronized(对象){ 需要同步的代码 } 这里的锁对象可以实任意对象 B:同步方法 把同步加在方法上 这里的锁对象是this C:静态同步方法 把同步加在方法上 这里的锁对象是当前的(类的class文件)也叫字节码文件对象(反射在讲字节码文件对象) (11)回顾以前的线程安全的类 A:StringBuffer B:Vector C:Hashable D:如何把一个线程不安全的集合变成一个线程安全的集合 用Collections工具类即可
    Processed: 0.011, SQL: 9