1、什么是线程:
概念:独立的运行单位。 每个程序都有一个主线程,即main函数。
分类:两种:一是只有一个主线程的程序,称为单线程模型。
二是把代码放入线程中,多个调用并执行,这种称为多线程模型。
使用线程两大优点:并行 省时。
2、线程和进程的区别
一:一个程序就是一个进程,而线程就是这个进程里的多个运行单位。
二:进程之间的内部数据是完全独立的,而线程之间(在同一个进程内的)则是共享一块内存空间和一组系统资源的。
三:线程之间的切换要比进程之间的切换负担要小。
3、线程的实现:(3种方法)
一:继承Thread这个类,然后重写run()方法,用start()方法启动线程,代码如下:
public class CreateThread extends Thread{
public static void main(String args[]){
CreateThread ct = new CreateThread();
ct.start();
}
public void run(){
//线程所要执行的代码
//...........
//.........
}
}
二:实现Runnable接口创建线程,代码如下:
public class CreateThread implements Runnable{
public static void main(String args[]){
CreateThread ct = new CreateThread();
Thread th = new Thread(ct);
th.start();
}
public void run(){
//线程所要执行的代码
//...........
//.........
}
}
三:利用匿名内部类来创建线程,代码如下:
public class CreateThread{
public static void main(String args[]){
Runnable runner = new Runnable(){
public void run(){
//线程所要执行的代码
//...........
//.........
}
};
Thread th = new Thread(runner);
th.start();
}
}
四:可以利用继承TimerTask类实现线程的定时执行,代码如下:
public class TimerPrint extends TimerTask{
public static void main(String args[]){
Timer timer = new Timer();
TimerPrint dw = new TimerPrint();
//在程序起到5秒后启动,每3秒运行一次
timer.schedule(dw, 5000,3000);
}
public void run(){
//线程所要执行的代码
//...........
//.........
}
}