Java线程

线程的概念

线程:线程是程序执行的最小单位,一个进程可由一个或多个线程组成,在一款运行的软件中通常会有界面更新线程、逻辑线程等,线程切换的开销远小于进程切换的开销。

进程:进程是系统进行资源分配和调度的基本单位,可以将进程理解为一个正在执行的程序,比如一款软件。

Java线程的状态

  • 1、新建状态(New):线程对象实例化后就进入了新建状态。
  • 2、就绪状态(Runnable):线程对象实例化后,其他线程调用了该对象的start()方法,虚拟机便会启动该线程,处于就绪状态的线程随时可能被调度执行。
  • 3、运行状态(Running):线程获得了时间片,开始执行。只能从就绪状态进入运行状态。
  • 4、阻塞状态(Blocked):线程因为某个原因暂停执行,并让出CPU的使用权后便进入了阻塞状态。
  • 4.1、等待阻塞:调用运行线程的wait()方法,虚拟机会把该线程放入等待池。
  • 4.2、同步阻塞:运行线程获取对象的同步锁时,该锁已被其他线程获得,虚拟机会把该线程放入锁定池。
  • 4.3、其他线程:调用运行线程的sleep()方法或join()方法,或线程发出I/O请求时,进入阻塞状态。
  • 5、结束状态(Dead):线程正常执行完或异常退出时,进入了结束状态。

Java线程的创建方式

  • 1、继承Thread
  • 2、实现Runnable接口
  • 3、实现Callable接口
  • 4、以及线程池来创建线程

Copyright © 2019-2019主引教程mainboot.com All Rights Reserved. 备案号: 闽ICP备13019624号-4