多线程JUC 篇 1.1juc的基本知识

Posted 健康平安的活着

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程JUC 篇 1.1juc的基本知识相关的知识,希望对你有一定的参考价值。

一 juc基本常识

1.1 JUC概念

juc 是java util concurrent 工具包的简写。

1.2 进程和线程

进程:正在运行执行任务的一个程序,系统进行资源分配和调度的基本单位。从集合的角度来说,进程是线程的容器。

线程:它被包含在进程中,是进程中真正执行任务的最小单位,一个进程中可以有多个并发的线程,每天线程执行不同的任务。

1.3 线程的状态

  1. new 新建态; 2.就绪 runnable 3.运行态 running 4.blocked阻塞态 5.消亡态 stop terminal

1.4 wait和sleep的区别和联系

1.sleep是thread类的静态方法;wait是object的方法,可以被任何实例对象进行调用。

  1. sleep它也不需要占用锁(即sleep不需要写到sychronized修饰的代码中),也不会释放锁;wait会且必须当前线程占有锁(即wait需要写到sychronized修饰的代码中),会释放锁。

相同点: 它们都可以被interrupt方法中断。

1.5 并发和并行

并发:同一时刻多个线程任务在执行任务。

并行:同一时间段内,多个线程在执行任务。

1.6 管程

保证了同一时刻只有一个进程在管程内活动,即管程内定义的操作在同一时刻只被一个进程调用(由编译器实现)。

用户线程:自定义线程; 守护线程:比如说垃圾回收线程。

用户线程:当任何一个用户线程未结束,Java虚拟机是不会结束的。

守护线程:如果只剩守护线程未结束,Java虚拟机结束。

以上是关于多线程JUC 篇 1.1juc的基本知识的主要内容,如果未能解决你的问题,请参考以下文章

Java---JUC并发篇(多线程详细版)

JavaSE——多线程&JUC(上)

多线程JUC并发篇常见面试详解

一篇神文就把java多线程,锁,JMM,JUC和高并发设计模式讲明白了

JUC-Java多线程Future,CompletableFuture

Java多线程系列--“JUC集合”02之 CopyOnWriteArrayList