线程
进程是什么?进程就是程序在进行一次动态执行的过程,它对应了从代码加载执行至完成的一个完整的过程,这个过程也就是进程本身从产生、发展至消亡的过程
在这个过程中会产生许多线程
如下图:每点开一个软件就是进程

进程的特点:
→ 进程是系统运行的基本单位
→ 每一个进程都有自己独立的一块内存空间、一组系统资源
→ 每一个进程的内部数据和状态都是完全独立的
线程:那么什么是线程?就是我们的电脑每当你点开一个软件就会产生一个任务,每个任务会对应一个进程
如下图

多线程:多线程作为一种多任务并发的工作方式,有着广泛的应用,合理使用线程,可以减少开发和维护的成本
优势:
→ 充分利用了CPU的资源:执行单线程程序时,若线程发生阻塞,CPU可能会处于空闲状态,这样就会造成计算机资源的浪费
而使用多线程可以在某个线程处理休眠或阻塞状态时运行其他线程,可以大大提高资源利用率
→ 简化编程模型:一个既长又复杂的进程可以考虑分为几个多线程,成为几个独立运行的部分,这样更有助于开发人员对程序的理解和维护
→ 带来良好的用户体验:多个线程的交替执行,减少或避免了因程序阻塞或意外情况造成的响应过慢,降低了用户等待的机率;
JAVA中创建线程的两种方式:继承Thread类 和 实现Runnable接口
继承Thread类的方式创建线程步骤:
(1)定义MyThread类继承Thread类
(2)重写run方法,在run方法中实现数据输出
(3)创建线程对象,调用start方法启动线程
实现Runnable接口的方式创建线程步骤:
(1)定义MyRunnable类实现Runnable接口,并实现Runnable接口在run方法中实现输出数据
(2)创建MyRunnable类的对象myRunnable
(3)创建一个Thread类的对象myThread,将myRunn作为对象传入Thread类构造方法的参数传入
(4) 调用myThread对象的start方法启动线程
线程的状态:
1:创建状态
2:就绪装态
3:运行状态
4:阻塞状态
5:死亡状态
线程方法:
Thread.join(); //强制转换线程
Thread.slpee(); // 线程休眠
Thread.yield(); // 线程礼让
Thread.getName(); // 返回线程的名称
Thread.getPrority(); // 返回线程优先级
Thread.setPrority(); // 更改线程优先级

浙公网安备 33010602011771号