
线程并发
线程并发
test123sadsad
好记性不如烂笔头
展开
-
多线程:Join的理解
多线程Join的理解 开发中使用多线程也非常少,之前因为有一个调取两个摄像头获取每帧进行活体检测时候,有人给了思路说到Join这个关键字,我才仔细的研究了一下这个。以前理解的意思是:使用join关键字,就是相当于调用join的线程如果没有执行完毕,其他线程都处于等待状态。这就相当是把线程串起来了一样。看了很多的博客,后面理解的是:那个线程等待挂起,取决与在那个线程上面调用XX.join,并不...原创 2020-04-11 15:16:29 · 268 阅读 · 0 评论 -
多线程学习:线程池
什么是线程池?线程池的好处? 线程池的概念:线程池就首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。 线程池的好处:1、降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消...原创 2020-04-08 07:57:02 · 103 阅读 · 0 评论 -
ThreadLocal学习
正文 之前在项目中与看到过ThreadLocal出现,但是一直不明白什么意思。而且最近也在从新学习多线程。正好有学到ThreadLocal。在次做一个记录。 ThreadLocal是什么意思? ThreadLocal的实例代表了一个线程局部的变量,每条线程都只能看到自己的值,并不会意识到其它的线程中也存在该变量。它采用采用空间来换取时间的方式,解决多线程中相同变量的访问冲突问题。 先来看一段代码 ...原创 2020-04-08 07:56:53 · 146 阅读 · 0 评论 -
Volatile与Synchronized的区别
java线程的内存模型 java的线程内存模型中定义了每个线程都有一份自己的共享变量副本(本地内存),里面存放自己私有的数据,其他线程不能直接访问,而一些共享变量则存在主内存中,供所有线程访问。 上图中,如果线程A和线程B要进行通信,就要经过主内存,比如线程B要获取线程A修改后的共享变量的值,要经过下面两步: (1)、线程A修改自己的共享变量副本,并刷新到了主内存中。 (2)、线程B读取主内存中...原创 2020-04-08 07:56:44 · 458 阅读 · 0 评论 -
synchronized
概念 是利用锁的机制来实现同步的。 **互斥性:**即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。 **可见性:**必须确保在锁被释放之前,对共享变量所做的修改,对于随后获得该锁的另一个线程是可见的(即在获得锁时应获得最新共享变量的值),否则另一个线程可能是在本地缓存...原创 2020-04-08 07:56:24 · 122 阅读 · 0 评论 -
java内存模型JMM
基本概念 **程序:**代码,完成某一件任务,代码序列(静态的概念) **进程:**程序在某些数据上的一次运行(动态的概念) **线程:**一个进程可能包含一个或多个线程(占有资源的独立单元) JVM与线程 JVM是在类被调用的时候才会被启动。先有JVM线程,然后才其他(main)线程(JVM创建了其他线程,)。 JVM 内存区域 信息共享 **方法区:**类信息(由类加载器加载)、常量、st...原创 2020-04-08 07:56:15 · 111 阅读 · 0 评论 -
多线程学习:线程基础
前言 工作中一直很少使用多线程,但是对于面试或者以后多线程肯定是要掌握的,故此打算从新学习一下多线程,记录一下学习用到的东西的,也是为了以后方便回顾吧。 正文 线程和进程 进程:是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动。操作系统中,几乎所有运行中的任务对应一条进程(Process)。一个程序进入内存运行,即变成一个进程。进程是处于运行过程中的程序,并且具有一定独立功能。...原创 2020-04-08 07:56:01 · 84 阅读 · 0 评论