一、并发编程基础

(一)线程简介

1、什么是线程

线程是CPU独立运行和独立调度的基本单位(可以理解为一个进程中执行的代码片段),进程是资源分配的基本单位(进程是一块包含了某些资源的内存区域)。进程是线程的容器,真正完成代码执行的是线程,而进程则作为线程的执行环境。一个程序至少包含一个进程,一个进程至少包含一个线程,这些线程都拥有各自的计数器、堆栈、和局部变量等属性,一个进程中的多个线程共享当前进程所拥有的资源。

2、为什么要使用多线程

(1)更多的处理器核心
(2)更快的相应时间
(3)更好的编程模型

3、线程的状态

   java线程在运行的生命周期中可能处于表中6钟不同的状态,在给定的一个时刻,线程只能处于其中的某一个状态。

运行下面一段代码:

public class ThreadState {
    public static void main(String[] args) {
        new Thread(new TimeWaiting(),"TimeWaitingThread").start();
        new Thread(new Waiting(),"WaitingThread").start();
        
        new Thread(new Blocked(),"BlockedThread-1").start();
        new Thread(new Blocked(),"BlockedThread-2").start();
    }
    
    static class TimeWaiting implements Runnable {
        public void run() {
            while(true) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    static class Waiting implements Runnable {
        public void run() {
            while(true) {
                synchronized (Waiting.class) {
                    try {
                        Waiting.class.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    
    static class Blocked implements Runnable {
        public void run() {
            synchronized (Blocked.class) {
                while(true) {
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}

使用jdk/bin目录下jps命令:

image.png

然后使用:jstack 2499命令可以看到结果如下图:BlockedThread-1进入锁,一直在等待,状态为TIME_WAITING;BlockedThread-2为Blocked状态,WaitingThread为WAITING状态;TimeWaitingThread线程为TIME_WAITING状态。


image.png

通过实例,我们了解了java程序运行中线程状态的具体含义,线程在自身的生命周期中,不是始终处于某个状态,而是不停的变换状态。

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容