线程

多线程

线程:

并行:多个事件在同一时刻进行(多核CPU的话则可以实现真正的并行,真正的同时执行)

并发:多个事件在同一时间段发生(宏观上是一起运行,实际是交替运行,只是时间片切换的速度极快)

实现线程并发,同时执行多个方法(伪多线程,线程池随机分配线程,只是交替执行)执行完毕后即为死亡状态

线程状态:新建→就绪↔运行→阻塞→就绪→运行完毕(终止)

线程锁 synchronized(不可以多线程同时访问被synchronized修饰的方法,当线程停止访问时系统会自动释放锁)

1.编写线程类继承Thread并实现其中的run方法(启动线程时调用该类的start方法)

多次调用run方法时只在当前线程跑,不会占用多个线程

2.实现runable接口(启动线程:实例化Thread,构造方法中传入实现runable接口的实例化对象,调用Thread的run方法)

通过多个线程启动,实现资源共享

进程:内存中运行的程序,有独立的内存空间

线程:进程中的一个执行单元,负责执行进程中程序的执行,一个进程至少包含一个线程

调度方式:

1. 分时调度,所有线程平均分配每个线程占用CPU的时间

2. 抢占式调度:优先让优先级高的线程使用CPU,优先级相同的话,随机执行其中的一个

优先级:最短作业优先,先来先服务优先

3. 线程优先级(1-10)默认值为5

线程通信:

wait()放弃执行权并等待

notify()进入唤醒状态,等待CPU调配

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容