线程基本知识
1、线程与进程
进程:执行中的程序。
线程:轻量级的进程。
线程本身不能单独运行,必须放在一个进程中才能执行。
2、java的线程模型
1.新建状态
线程被创建之后便处于新建状态。
2.就绪状态
新建状态的线程调用start()进入就绪状态
阻塞状态的线程解除阻塞之后进入就绪状态
3.运行状态
处于就绪状态的线程获得了cpu的资源,该线程就进入了运行状态。
4.阻塞状态
是一个正在运行的线程,因为一些原因让出cpu资源暂时中止而进入的状态
5.中止状态
(1)正常终止
(2)强制终止:stop destrop
class 类名 extends thread{
public void run(){
//相关代码
}
1、线程与进程
进程:执行中的程序。
线程:轻量级的进程。
线程本身不能单独运行,必须放在一个进程中才能执行。
2、java的线程模型
1.新建状态
线程被创建之后便处于新建状态。
2.就绪状态
新建状态的线程调用start()进入就绪状态
阻塞状态的线程解除阻塞之后进入就绪状态
3.运行状态
处于就绪状态的线程获得了cpu的资源,该线程就进入了运行状态。
4.阻塞状态
是一个正在运行的线程,因为一些原因让出cpu资源暂时中止而进入的状态
5.中止状态
(1)正常终止
(2)强制终止:stop destrop
(3)异常终止:当线程执行过程中产生了异常,线程会终止。
继承Thread类
1、继承thread类创建线程class 类名 extends thread{
public void run(){
//相关代码
}
}
实例:
public class MyThread extends Thread{
public void run(){
for(int i=0;i<10;i++){
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//100毫秒执行一次
System.out.println("MyThread"+i);
}
}
}
//测试类
public class MyTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyThread mt=new MyThread();
mt.start();
System.out.println("线程执行完毕");
}
}
结果:
结果显示系统先执行main方法里,在执行run()。