本章主要介绍在Java中如何实现多线程。
类名 | 备注 |
java.lang.Thread | 线程类,使用它可以使一个类线程化。 |
java.lang.Runnable | 实现多线程机制的另一种办法 |
目录
1、线程概述
2、Thread类
3、实现Runnable接口
4. 线程阻塞
5. 线程的优先级
6. 线程同步和死锁。
在了解线程Thread之前,我们先来了解一下几个概念。
程序program:一段静态代码,它是应用软件执行的蓝本。
进行process:程序的一次动态执行过程,它对应了从代码加载,执行到执行完毕的一个完整过程。这个过程本身也是进程从产生,发展到消亡的过程。
线程Thread:比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索。
线程只见可以共享相同的内存单元,包括数据和代码,并利用这些共享单元来实现数据交换、实时通信和必要的同步操作。
每个Java程序都有一个缺省的主线程,想要实现多线程,必须在主线程中创建新的线程对象。
线程在一个完整的生命周期通常要经历五种状态。
新建new:当一个Thread类或其子类的对象被声明并创建时,新生的Thread对象就处于new状态,此事它已经有了相应的内存空间和其它资源,并已被初始化。
就绪runnable:处于new状态的Thread被启动后start(),将进入线程队列排队等待CPU时间片,此时它已经具备了运行条件,一旦轮到它来享用CPU资源,就可以脱离创建它的主线程独立运行。哪些处于阻塞状态的线程被解除阻塞后也会进入就绪状态。
运行running:当就绪状态的Thread被调度获得CPU资源时,便进入运行状态。每一个Thread类都有一个重要的run()方法,当线程被调度执行时,它将自动调用run方法,从第一句开始顺序执行。
阻塞block:一个正在执行的Thread在某些特殊情况下,如被认为挂起,将让出CPU资源暂时终止自己的执行ÿ
本文发布于:2024-02-01 12:26:21,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170676157936583.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |