随笔分类 - Java并发编程
摘要:一、ThreadLocal定义 ThreadLocal是一个可以提供线程局部变量的类,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路,通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解
阅读全文
posted @ 2018-07-30 21:39
~直落银河九天~
摘要:一、java内存模型 1.java内存模型 程序运行过程中的临时数据是存放在主存(物理内存)中,但是现代计算机CPU的运算能力和速度非常的高效,从内存中读取和写入数据的速度跟不上CPU的处理速度,在这种情况下,CPU高速缓存应运而生。基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但是出现
阅读全文
posted @ 2018-07-25 20:18
~直落银河九天~
摘要:一、Lock的出现 Lock的主要作用实现线程之间的同步互斥,与synchronized关键字的效果是一样的,synchronized是Java语言内置的特性,那么为什么又出现了Lock呢?原因是synchronized不是完美的,那么synchronized的缺陷在哪里呢? ①、通过synchro
阅读全文
posted @ 2018-07-18 23:17
~直落银河九天~
摘要:java中实现线程通信的四种方式 1.synchronized同步 多个线程之间可以借助synchronized关键字来进行间接通信,本质上是通过共享对象进行通信。如下: 结果输出: 2.while轮询的方式 一个线程修改共享对象的某个属性,另外一个线程不断的轮训查看共享对象的这个属性是否发生符合条
阅读全文
posted @ 2018-07-18 17:17
~直落银河九天~
摘要:一、线程安全 1.线程安全的概念 线程安全:某个类被单个线程,或者多个线程同时访问,所表现出来的行为是一致,则可以说这个类是线程安全的。 2.什么情况下会出现线程安全问题 在单线程中不会出现线程安全问题,在多线程编程的情况下,并且多个线程访问同一资源的情况下可能出现线程安全问题。如下面的例子,出现典
阅读全文
posted @ 2018-07-17 22:34
~直落银河九天~
摘要:一、Thread类的构成 Thread类实现Runnable接口。部分源码如下: 二、Thread类常用方法 1.currentThread()方法 currentThread()方法可以返回代码段正在被哪个线程调用的信息,使用如下: 结果输出: 结果输出: 2.isAlive()方法 isAliv
阅读全文
posted @ 2018-07-16 22:00
~直落银河九天~
摘要:一、多线程基础知识 1.进程和线程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。 线程:进程内部的一个独立执行单元;一个进程可以同时并
阅读全文
posted @ 2018-07-16 16:51
~直落银河九天~

浙公网安备 33010602011771号