线程的介绍和创建方式

来源:互联网 发布:淘宝只能换绑不能解绑 编辑:程序博客网 时间:2024/05/17 07:11

首先要说一下多线程是什么

我们都知道在操作系统中程序的运行是以进程为单位的,也就是说我们每运行一段程序代码都是在启动了一个进程,进程是操作系统中的任务调度的基本单位,每个进程有自己独立的运行空间

线程则是在进程里面为了尽最大可能使用计算机cpu而提供的一些api接口,就是在进程中执行的子任务,这些不同的任务和功能都能并行运行,并且可以共享进程中的工作空间,比如变量空间,堆空间等,使用了线程我们就不必在每个进程中都必须等待某个任务的执行完之后再执行下一个任务,也就是说我们的程序执行是可以并行执行下去的,而且避免了多进程切换的开销

在java中创建线程的方式有两种

继承Thread线程类的方式
public class ReaderThread extends Thread{
@override
public void run(){
System.out.println(“create a new Thread”);
}
}

// 就可以直接调用了
ReaderThread reader = new ReaderThread();
reader.start();
实现Runnable接口的方式
public class ReaderThread implements Runnable{
public void run(){
System.out.println(“create a new Thread”);
}
}
// 与继承Thread类不一样,实现Runnable接口的方式需要将要在线程中运行的类,扔到一个线程对象中才能运行

ReaderThread reader = new ReaderThread();
Thread t = new Thread(reader);
t.start();
一般建议使用实现接口的方式来创建线程,因为java是单继承的要是我们在需要多进程运行同一个任务的代码中,要是继承了Thread就不能继承其他父类代码了,所以在多态的面向对象编程中,建议使用实现接口的方式,毕竟接口可以有继承多个嘛

1 0