![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
04 高级_线程
线程
Yorick_Xu
这个作者很懒,什么都没留下…
展开
-
第一课 基本概念
基本概念1 线程的概念2 线程和进程的区别 1 线程的概念 程序:Programe,指令集,是一个静态的概念 进程:Process,操作系统调度程序,是一个动态的概念 进程是程序的一次动态执行过程,占用特定的地址空间 每个进程都是独立的,由三部分组成:CPU,Data,Code 缺点:内存的浪费,CPU的负担 线程:Thread,是进程中的一个“单一连续控制流程”(多条执行路径) 线程又被称为轻量级进程(lightweight process) 每个线程独立运行 一个进程可拥有多个并行的(Conc原创 2020-08-13 15:37:14 · 77 阅读 · 0 评论 -
第二课 多线程的实现
多线程的实现1 Java中实现多线程(一)2 Java中实现多线程(二)2.1 Thread 和 Runnable 的区别2.2 静态代理设计模式3 Java中实现多线程(三) 1 Java中实现多线程(一) 在Java中负责多线程的功能的类是java.lang.Thread包 可以通过创建Thread的实例来创建新的线程 每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体 通过调用Thread类的start()方法来启动一个线程 /** * 多线程原创 2020-08-13 15:45:26 · 83 阅读 · 0 评论 -
第三课 线程状态
线程状态1 线程状态2 停止线程3 阻塞线程4 线程状态完整版 1 线程状态 新生状态 用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态(runnable) 就绪状态 处于就绪状态的线程已经具备了运行条件,但还没有分配到CPU,处于线程就绪队列,等待系统为其分配CPU。等待状态并不是执行状态,当系统选定一个等待执行的Thread对象后,它就会从等待执行状态进入执行状态,系统挑选的动作被称为原创 2020-08-13 16:26:47 · 182 阅读 · 0 评论 -
第四课 线程基本信息
方法 功能 isAlive() 判断线程是否还“活”着,即线程是否还未终止 getPriority() 获得线程的优先级数值 setPriority(int num) 设置线程的优先级数值 setName(String name) 给线程定义名称 getName() 取得线程名称 currentThread() 取得当前正在运行的线程对象 public class ThreadInfoTest { public static void main(String[] a...原创 2020-08-13 16:30:21 · 56 阅读 · 0 评论 -
第五课 锁
锁1 线程同步2 同步块3 单例设计模式4 死锁——生产者消费者模式4.1 模拟死锁现象4.2 生产者消费者模式(信号灯法)5 任务调度(Timer类) 1 线程同步 由于同一进程的多个线程共享同一片存储空间,会引起访问冲突问题。 /** * 使用锁模拟12306 * * @author Administrator * */ public class ThreadSynchronizedTest { public static void main(String[] args) { //原创 2020-08-13 16:31:37 · 151 阅读 · 0 评论