计算机可以将多种活动同时进行,这种思想放在Java中被称为并发,而将并发完成的每一件事情称为线程。
在Java中,并发机制非常重要。在以往的程序设计中,我们都是一个任务完成后再进行下一个任务,这样下一个任务的开始必须等待前一个任务的结束。Java语言提供了并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制被称为多线程。
一个线程则是进程中的执行流程,一个进程中可以同时包括多个线程,每个线程也可以得到一小段程序的执行时间,这样一个进程就可以具有多个并发执行的线程。在单线程中,程序代码按调用顺序依次往下执行。如果需要一个进程同时完成多段代码的操作,就需要使用多线程。
通过java.lang.Thread
类的对象来代表线程
- 创建
MyThread
类,让其继承Thread
类并重写run()
方法。
public class MyThread0 extends Thread{
//必须重写run方法
//run方法描述线程的执行内容
@Override
public void run() {
for (int i = 0; i < 4; i++) {
System.out.println("子线程正在输出:" + i);
}
}
}
- 创建
MyThread
类的实例对象,即创建一个新线程。 - 调用
start()
方法,启动线程。
public class test {
//主线程和子线程执行是随机的
public static void main(String[] args) {
Thread t=new MyThread0();
//注意是调用start不是调用run
t.start();
for (int i = 0; i < 4; i++) {
System.out.println("主线程正在输出:" + i);
}
}
}
优点:编码简单
缺点:线程类已经继承了Thread,无法继承其他类,不利于功能的扩展
- 创建
MyRunnable
类实现Runnable
接口。Runnable
接口只有一个run
方法,源代码如下:
public interface Runnable {
public abstract void run();
}
public class MyRunnable implements Runnable{
@Override
public void run() {
for (int i = 0; i < 4; i++) {
System.out.println("子线程1输出:" + i);
}
}
}
- 创建
MyRunnable
类的实例对象myRunnable
。 - 把实例对象
myRunnable
作为参数来创建Thread
类的实例对象thread
,实例对象thread
就是一个新线程。
原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/87775.html