Java基础知识之线程
一、与线程的相关概念
1、程序、进程、线程概念
程序:通过编程语言编写的一组指令集合
进程:正在运行的程序
线程:进程中执行的基本单元
程序:通过编程语言编写的一组指令集合
进程:正在运行的程序
线程:进程中执行的基本单元
单一线程执行特点:从上到下,一步一步来;
多线程特点:相当于好几个帮手帮你做事情;你做你的,他做他的;
生活中非常多的多线程的实例:
做菜的时候,你会一下跑去切菜,一会回来炒一下菜,可能又会去洗菜等等;
二、Java中多线程的实现机制
1、继承Thread类,并重写父类的run()方法;
2、实现Runnable接口同时实现Runnable中的run()方法;
3、匿名内部类(Thread类或者Runnable接口都可以)
三、实例代码
现在用以上三种方法简单模拟多线程程序的执行过程:
扫地线程通过继承Thread类实现
package com.bluesky.zhou;
public class CleanThread extends Thread{
public void run() {
System.out.println("正在扫地.......");
try {
//休眠
this.sleep(30);
System.out.println("扫地完成......");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
沏茶线程通过实现Runnable接口实现
package com.bluesky.zhou;
public class TeaThread implements Runnable{
public void run() {
System.out.println("沏茶中......");
try {
Thread.sleep(20);
System.out.println("茶沏好了......");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.bluesky.zhou;
public class Test {
public static void main(String[] args) {
CleanThread clean = new CleanThread();
TeaThread tea = new TeaThread();
Thread teaThread =new Thread(tea);
new Thread(){
public void run(){
System.out.println("正在擦窗户.......");
try {
this.sleep(10);
System.out.println("窗户擦完了......");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
clean.start();
teaThread.start();
}
}
启动多次将得到不同的运行结果:
总结:
1、了解线程的基本概念;
2、知道线程实现的三种机制;