Java并发编程总结01_线程基础

1.什么是线程?

现代操作系统调度的最小单元是线程,在一个进程里面可以创建多个线程,这些线程都有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量,处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行

2.多线程的好处?

1.更多的处理器核心

2.更快的响应时间,异步任务并行执行

3.更好的编程模型

3.线程的状态

NEW:初始状态,线程被构建,但是还没有调用start()

RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态统称成为运行中

BLOCKED:阻塞状态,表示线程阻塞于锁

WAITING:等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做出的一些特定动作

TIME_WAITING:超时等待状态,该状态不同于WAITING的是它是可以在指定的时间自行返回的

TREMINATED:终止状态,表示当前线程已经执行完毕


Java线程状态变化

4.守护线程

守护线程是一种支持性的线程,因为它主要被用作程序中后台调度以及支持性工作。

当一个JVM中不存在非Daemon线程的时侯,JVM将会退出

可以通过 Thread.setDaemon(true) 将线程设置为Daemon线程

5.线程的创建、启动、中断

创建:线程对象的构建,Java中的线程于Thread对象一一对应

启动:调用线程对象的statrt()

中断:中断可以理解为线程的一个标识位属性,它表示一个运行中间线程是否被其他线程进行了中断操作,中断好比其他线程对该线程打了个招呼,其他线程通过调用该线程的interrupt()方法对其进行中断。









你可能感兴趣的:(Java并发编程总结01_线程基础)