Java并发编程
文章平均质量分 96
就行222
这个作者很懒,什么都没留下…
展开
-
【Java并发第四篇】线程安全
1、线程安全 多个线程对同一个共享变量进行读写操作时就可能产生不可预见的结果,这就是线程安全问题。这里说的共享变量,是指多个线程都能访问的变量,一般包括成员变量和静态变量。 线程安全问题示例: import lombok.extern.slf4j.Slf4j; /** * @Author FengJian * @Date 2021/1/27 10:59 * @Version 1.0 */ @Slf4j(topic = "c.ThreadSafeTest") public class ThreadS原创 2021-02-25 18:51:30 · 342 阅读 · 3 评论 -
【Java并发第三篇】线程间通信
线程间的通信 JVM在运行时会将自己管理的内存区域,划分为不同的数据区,称为运行时数据区。每个线程都有自己私有的内存空间,如下图示: Java线程按照自己虚拟机栈中的方法代码一步一步的执行下去,在这一过程中不可避免的会使用到线程共享的内存区域堆或方法区。为了防止多个线程在同一时刻访问同一个内存地址,需要互相告知自己的状态以避免资源争夺。 线程的通信方式主要分为三种方式:①共享内存②消息传递③管道流 共享内存:线程之间通过对共享内存的读-写来实现隐式通信。Java中的具体实现是:volatile共享内存。原创 2021-01-21 00:34:42 · 305 阅读 · 0 评论 -
【Java并发第二篇】Java线程的创建与运行,线程状态与常用方法
1、线程的创建与运行 (1)、继承或直接使用Thread类 继承Thread类创建线程: /** * 主类 */ public class ThreadTest { public static void main(String[] args) { //创建线程对象 My_Thread my_thread = new My_Thread(); //启动线程 my_thread.start(); } } /** * 继承Th原创 2020-12-25 19:32:03 · 322 阅读 · 0 评论 -
【Java并发第一篇】Java的进程与线程
1、进程与线程 1.1、进程 进程可以看作是程序的执行过程。一个程序的运行需要CPU时间、内存空间、文件以及I/O等资源。操作系统就是以进程为单位来分配这些资源的,所以说进程是分配资源的基本单位。 (1)、进程是动态的,程序是静态的 程序是静态的,它本身作为一种软件资源可以长期保存在磁盘中。比如QQ,QQ作为一个程序,其本身保存在计算机的磁盘上。此时,它并没有得到CPU、内存、I/O等资源。因此当前的QQ程序只是一个静态的程序并不能给我们实现视频、语音等功能。 但当QQ程序开始执行时,操作系统就会将QQ程序原创 2020-12-07 19:09:34 · 186 阅读 · 0 评论