Java线程与多线程

 

计算机可以将多种活动同时进行,这种思想放在Java中被称为并发,而将并发完成的每一件事情称为线程。

1.线程和多线程

在Java中,并发机制非常重要。在以往的程序设计中,我们都是一个任务完成后再进行下一个任务,这样下一个任务的开始必须等待前一个任务的结束。Java语言提供了并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制被称为多线程。
一个线程则是进程中的执行流程,一个进程中可以同时包括多个线程,每个线程也可以得到一小段程序的执行时间,这样一个进程就可以具有多个并发执行的线程。在单线程中,程序代码按调用顺序依次往下执行。如果需要一个进程同时完成多段代码的操作,就需要使用多线程。

2.创建线程

通过java.lang.Thread类的对象来代表线程

创建方式一:继承Thread类
  1. 创建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);
        }
    }
}
  1. 创建MyThread类的实例对象,即创建一个新线程。
  2. 调用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,无法继承其他类,不利于功能的扩展

创建方式2:实现Runnable接口
  1. 创建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);
        }
    }
}
  1. 创建MyRunnable类的实例对象myRunnable
  2. 把实例对象myRunnable作为参数来创建Thread类的实例对象thread,实例对象thread就是一个新线程。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/87775.html

(0)
guozi's avatarguozi
上一篇 2024年6月3日 下午2:56
下一篇 2024年6月3日 下午3:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注