1、Java多线程的概念:
线程(Thread):是指一个任务从头到尾的执行流。线程提供了运行一个任务的机制。对于java而言,可以在一个程序中并发的启动多个线程,这些线程可以在多处理器上同时运行。
在单处理器系统中,多个线程共享CPU时间,而操作系统负责调度及分配资源给它们。当程序作为一个应用程序来运行时,JAVA解释器为main开启一个线程。当程序为Applet运行时,Web浏览器启动一个线程来运行applet。还可以在程序中创建附加的线程以执行并发任务。在JAVA中,每个任务都是Runnable的实例。
2、创建任务和线程
任务就是对象,为了创建任务,必须为任务定义一个类,任务类必须实现Runnable接口。Runnable接口十分简单,如下:
public abstract interface java.lang.Runnable {
// Method descriptor #1 ()V
public abstract void run();
}
接口里就只有一个run方法,需要这个方法告诉系统线程将如何运行。下面介绍如何开发任务类:
1、一旦定义了一个TaskClass,就可以用他的构造方法来创建一个任务,例如:
TaskClass task = new TaskClass(参数);
2、任务必须在线程中执行。
Thread thread = new Thread(task);
3、调用start()方法告诉JAVA虚拟机该线程准备运行
thread.start();
下面我就举一个简单的例子:
PrintChar.java
package com.guigu.zhangxx.main;
public class PrintChar implements Runnable{
private char c;
private int num;
public PrintChar(char c,int num){
this.c = c;
this.num = num;
}
public void run() {
for(int i=0;i<num;i++){
System.out.print(c+" ");
}
}
}
CMain.java
package com.guigu.zhangxx.main;
public class CMain {
public static void main(String[] args) {
//创建任务
Runnable print1 = new PrintChar('A',10);
//创建线程
Thread thread1 = new Thread(print1);
//开启线程
thread1.start();
}
}
结果为:
A A A A A A A A A A