Java 多线程编程

店铺:https://shop58616120.taobao.com

线程是一个程序内部的顺序控制流。

线程和进程的区别

  • 每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销。

  • 线程可以看成时轻量级的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小。

  • 多进程: 在操作系统中能同时运行多个任务(程序)。

  • 多线程: 在同一应用程序中有多个顺序流同时执行。

二、线程的创建与启动

可以有两种方式创建新的线程。

第一种

定义线程类实现Runnable接口

ThreadmyThread = new Thead(target)//target为Runnable接口类型。

Runnable中只有一个方法:

publicvoid run(); 用以定义线程运行体。

使用Runnable接口可以为多个线程提供共享的数据。

在实现Runnable接口的类的run方法定义中可以使用Thread的静态方法:

publicstatic Thread currentThread()  获取当前线程的引用。

第二种

可以定义一个Thread的子类并重写其run方法如:

      class MyThread extends Thead {

           public void run(){…}

       }

然后生成该类的对象:

     MyThreadmyThread=new MyThead(…)

评论

© Saoirse | Powered by LOFTER