线程、多线程编程基本概念总结

  1. 进程是程序的运行实例,一个进程可以包含多个线程,这些线程共享其所在进程的资源。
  2. 线程是进程中可独立执行的最小单位。Java标准库类java.lang.Thread就是Java平台对线程的实现。特定线程总是在执行特定的任务,线程的run方法就是线程所要执行任务的处理逻辑的入口方法,该方法有Java虚拟机直接调用执行。Java标准库接口java.lang.Runnable就是对任务的抽象,Thread类就是Runnable接口的一个实现类。
  3. 应用程序负责线程的创建与启动,而线程调度器负责线程的调度和执行。Java平台中有两种方式创建线程:创建Thread的子类和以Runnable接口实例为构造器参数直接通过new创建Thread实例。
  4. 在Java平台中,任何一段代码总是执行在确定的代码中的。同一段代码可以被不同的线程执行。代码可以通过Thread.currentThread()调用来获取其当前执行线程。
  5. 为每个线程设置一个简短而含义明确的名称属性有助于多线程程序的调试和问题定位。
  6. 一个线程从起创建到运行结束的整个生命周期会经历若干状态。线程执行过程中调用一些对象的方法(如Thread.sleep(long millis))或者执行特定的操作(如I/O操作)往往导致其状态的变更。线程转储是对线程进行监视的重要媒介。操作系统以及JDK都提供了一些工具(jvisualvm、jstack和Java Mission Control),可以用来获取线程转储。
  7. Java平台是一个多线程的平台,线程的身影在Java平台中无处不在。按照线程间的创建关系,我们可以将多个线程之间的关系理解为一个层次关系。Java并无相关API用户获取一个线程的父线程或者子线程,父线程和子线程之间的生命周期并无必然联系。
  8. 线程是多线程编程的基本单位。多线程编程一方面有助于提高系统的吞吐率、提高软件的响应性、充分利用多核处理器资源、最小化对系统资源的使用和简化程序的结构,另一方面面临线程安全问题、线程活性问题、上下文切换和可靠性等问题。
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39938767/article/details/80947187