浅谈多线程总结概念及基本使用方法

本篇中先粗略的介绍多线程的基本概念,具体深入则在后面进行介绍。

一、多线程是什么?为什么要用多线程?

  介绍多线程之前要介绍线程,介绍线程则离不开进程。

  首先 进程 :是一个正在执行中的程序,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元;

  线程:就是进程中的一个独立控制单元,线程在控制着进程的执行。一个进程中至少有一个进程。

     多线程:一个进程中不只有一个线程。

   为什么要用多线程:为了更好的利用cpu的资源,如果只有一个线程,则第二个任务必须等到第一个任务结束后才能进行,如果使用多线程则在主线程执行任务的同时可以执行其他任务,而不需要等待,所以所有的多线程的代码都可以用单线程去实现。

  

二、线程的生命周期:

  • 新建 :从新建一个线程对象到程序start() 这个线程之间的状态,都是新建状态;
  • 就绪 :线程对象调用start()方法后,就处于就绪状态,等到JVM里的线程调度器的调度;
  • 运行 :就绪状态下的线程在获取CPU资源后就可以执行run(),此时的线程便处于运行状态,运行状态的线程可变为就绪、阻塞及死亡三种状态。
  • 等待/阻塞/睡眠 :在一个线程执行了sleep(睡眠)、suspend(挂起)等方法后会失去所占有的资源,从而进入阻塞状态,在睡眠结束后可重新进入就绪状态。
  • 终止 :run()方法完成后或发生其他终止条件时就会切换到终止状态。

三、创建线程的方法:

  1、继承Thread类:

  2、实现Runnable接口:

  3、通过Callable和Future创建线程:

------------------------欲了解后事如何,请容许我先休息片刻--------------------

四、继承Thread类和实现Runnable接口的区别。

五、线程同步。

六、线程间的通信,等待唤醒机制。

猜你喜欢

转载自www.cnblogs.com/yjboke/p/8911220.html