16.3.3 线程死亡 发表于 2019-07-16 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.3 线程的生命周期 16.3.3 线程死亡 什么时候线程处于死亡状态 主线程结束其他线程可继续执行 isAlive方法 已经死亡的线程无法再次启动 阅读全文 »
16.3.2 运行状态和阻塞状态 发表于 2019-07-16 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.3 线程的生命周期 16.3.2 运行状态和阻塞状态 什么时候线程处于运行状态 什么时候线程进入阻塞状态 什么时候线程由阻塞状态进入就绪状态 线程状态转换图 阅读全文 »
16.3.1 新建状态和就绪状态 发表于 2019-07-16 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.3 线程的生命周期 16.3.1 新建状态和就绪状态 什么时候线程处于新建状态 什么时候线程处于就绪状态 永远不要调用线程对象的run方法 程序示例 只能对处于新建状态的线程调用start方法 如何让子线程立即执行 本文重点 阅读全文 »
16.3 线程的生命周期 发表于 2019-07-16 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.3 线程的生命周期 16.3 线程的生命周期 阅读全文 »
16.2.4 创建线程的三种方式对比 发表于 2019-07-16 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.2 线程的创建和启动 16.2.4 创建线程的三种方式对比 实现Runnable,Callable接口方式创建多线程的优缺点 优点 缺点 继承Thread类的方式创建多线程的优缺点 优点 缺点 总结 阅读全文 »
16.2.3 使用Callable和Future创建线程 发表于 2019-07-15 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.2 线程的创建和启动 16.2.3 使用Callable和Future创建线程 Callable接口简介 Callable接口实例不能直接作为Thread的target 如何获取Callable接口中call()方法的返回值 Future接口常用方法 Callable接口是函数式接口且有泛型限制 创建并启动有返回值的线程的步骤 程序示例 本文重点 阅读全文 »
16.2.2 实现Runnable接口创建线程类 发表于 2019-07-15 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.2 线程的创建和启动 16.2.2 实现Runnable接口创建线程类 如何获取当前线程对象 Runnable接口是函数式接口 多个线程共享一个target则可以共享target中的实例变量 阅读全文 »
16.2 线程的创建和启动 16.2.1 继承Thread类创建线程类 发表于 2019-07-15 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.2 线程的创建和启动 16.2 线程的创建和启动 16.2.1 继承Thread类创建线程类 主线程 Thread类常用方法 继承Thread类来创建线程的缺点 阅读全文 »
16.1.2 多线程的优势 发表于 2019-07-15 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.1 线程概述 16.1.2 多线程的优势 多线程编程优点 阅读全文 »
16.1 线程概述 16.1.1 线程和进程 发表于 2019-07-15 更新于 2019-10-14 分类于 疯狂Java讲义 (第4版) , 第16章 多线程 , 16.1 线程概述 16.1 线程概述 16.1.1 线程和进程 进程的三个特征 并发性和并行性的区别 多进程并发策略 阅读全文 »