多线程

····程序是放在线程里面运行的 ,线程是放在cpu里面运行的。

·······并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。

[外链图片转存失败(img-cUOvJNwv-1564402999287)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1564398629761.png)]

······把多个线程交给cpu交替处理,会产生不可共性,也就会出现bug

·········创建线程的俩种方法:1、直接通过线程的实例 重写run方法

​ 2、实现runnable接口

、、、核心性能:提高效率

···步骤

1写一个类直接继承Thread类重写run方法。

2该run()方法的方法体就代表了线程需要完成的任务。

3创建Thread子类的实例。

4调用线程对象的start()方法来启动该线程

[外链图片转存失败(img-YWDDCi3X-1564402999289)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1564401156659.png)]

[外链图片转存失败(img-rmrHkvUf-1564402999290)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1564401203846.png)]

使用Runnable的优点

  1. 适合多个相同的程序代码的线程去处理同一个资源
  2. 可以避免java中的单继承的限制
  3. 增加程序的健壮性,代码可以被多个线程共享,代码和数据独立
  4. 线程池只能放入实现Runable或callable类线程,不能直接放入继承Thread的类

线程的生命周期

​ New(初始化状态)

​ Runnable(可运行/运行状态)

​ Blocked(阻塞状态)

​ Waiting(无时间限制的等待状态)

​ Timed_Waiting(有时间限制的等待状态)

​ Terminated(终止状态)

上一篇:windows7-32位系统下部署flask程序(wsgi简单快速配置)---编辑中


下一篇:win10下载后的背景图片在哪等背景图片位置的问题