线程与进程
1、线程:程序中单独顺序的控制流
线程本身依靠程序进行运行
县城是程序中的顺序控制流,只能使用分配给程序的资源和环境
2、进程:执行中的程序
一个进程可以包含一个或多个线程
一个进程至少要包含一个线程
3、单线程
程序中只存在一个线程
4、多线程
多线程是在一个程序中运行多个任务
多线程的目的是更好的使用CPU资源
---------------分割线----------------------
线程的实现
1、在Java中,线程的实现有两种:
继承Thread类
实现Runnable接口
2、Thread类:
Thread类是在Java.lang包中定义的,继承Thread类必须重写run()方法
定义格式:
class className extends Thread{
run(){}
}
3、Runnable接口
-------------------------------------分割线---------------------------------------------------------
public class MyThread extends Thread{
private String name;
public MyThread(String name){
this.name = name;
}
@Override
public void run() {
for(int i = 0 ; i<10 ; i++){
System.out.println("run()"+name+i);
}
super.run();
}
}
public class Demo01 {
public static void main(String[] args) {
MyThread t1 = new MyThread("A");
MyThread t2 = new MyThread("B");
//线程的启动使用start
t1.start();
t2.start();
}
}
------------------------------分割线----------------------------------------------
线程的状态
1、线程也有固定的操作状态
创建线程:准备好了一个多线程的对象
就绪状态:调用了start()方法,等待CPU进行调度
运行状态:执行run()方法
阻塞状态:暂时停止执行,可能将资源交给其他线程使用
终止状态(死亡状态):线程销毁
线程的常用方法:
1、取得线程名称
getName()
2、取得当前线程的对象
currentTread()
3、判断线程是否启动
isAlive()
4、线程的强行运行
join()
5、线程的休眠
sleep()