什么是线程,什么是进程:
线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指
运行
中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为
多线程
。
进程是正在运行的程序的实例,或者:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
一、Java线程的周期:
五个基本状态
线程有五个基本状态描述
New: 新建线程(创建一个线程,但是没有任何可运行的实体)
Runnable 线程就绪(将程序变量实体放入线程中,)
Running 运行(运行放入的程序)
Blocked 阻塞(程序暂停,等待自动唤醒或者被动唤醒)
Dead 结束(程序运行结束或者异常退出)
形象点我们可以这么理解:
一个线程就是一个抽水机抽水,
线程创建可以看成这个抽水机
就绪就是已经架设好的抽水机
运行:抽水机抽水行为
阻塞:就是正在抽水时因为各种原因抽不上水了
结束:抽水结束并将抽水机搬走
=================================================
二、Java线程的实现
Java线程方式主要有三种实现方式
1.集成Thread 类 重写run方法
class
MyFirstThread
extends
Thread{
private
int
i=0;
@Override
public
void
run() {
//
TODO
Auto-generated method stub
for
(i=0;i<100;i++){
System.
out
.println(Thread.
currentThread
().getName()+" "+i);
}
}
}
2.实现Runnable方法
class
MyFirstRunnable
implements
Runnable{
private
int
i=0;
@Override
public
void
run() {
//
TODO
Auto-generated method stub
for
(i=0;i<10;i++){