进程-线程 进程,Process,处于运行中的程序,系统进行资源分配和调度的独立单位,拥有独立的内存空间(堆)。 动态性:生命周期和状态; 独立性:独立实体; 并发性:Concurrency,抢占式多任务操作策略; 注:…
分类:java并发
java并发-锁-synchromized
关键字synchromized 的作用是实现线程间的同步。它的工作室对同步的代码加锁,使得每一,只有一个线程可以进入同步块,从而保证线程间的安全性。 synchromized 的用户这里做一个简单的整理, 1,指定加锁对…
java分布式锁入门实战
这篇文章只讲使用,不讲原理,简单粗暴。 分布式锁,顾名思义,就是分布式的锁,应用于一些分布式系统中。例如,有一个服务部在数太机器上,然后有可能操作数据库中的同一条记录。这时,就需要分布式锁。 分布式锁实现的方式很多,一般…
Java并发编程笔记之StampedLock锁源码探究
StampedLock是JUC并发包里面JDK1.8版本新增的一个锁,该锁提供了三种模式的读写控制,当调用获取锁的系列函数的时候,会返回一个long 型的变量,该变量被称为戳记(stamp),这个戳记代表了锁的状态。 t…
Java多线程系列--“JUC原子类”04之 AtomicReference原子类
概要 本章对AtomicReference引用类型的原子类进行介绍。内容包括:AtomicReference介绍和函数列表AtomicReference源码分析(基于JDK1.7.0_40)AtomicReference…
JUC之volatile
一、简介 volatile是Java语言的关键字,用来修饰可变变量(即该变量不能被final修饰),且必须是至少类内可见。所以它是可以修饰带static的变量。这我自己下定义。 它是被设计用来修饰被不同线程访问和修改的变…
JUC源码阅读之AbstractQueueSynchronizer(三)
1.内部的一些支持Conditions的方法 如果node原来在condition队列中,现在已经被移动到同步队列中,就返回true //如果node原来是在条件队列中,现在移动到同步队列中,就返回true final …
Java:多线程,线程池,用Executors静态工厂生成常用线程池
一: newSingleThreadExecutor 创建一个单线程的线程池,以无界队列方式运行。这个线程池只有一个线程在工作(如果这个唯一的线程因为异常结束,那么会有一个新的线程来替代它。)此线程池能够保证所…
《深入理解Java虚拟机》笔记04 -- 并发锁
Java虚拟机在操作系统层面会先尽一切可能在虚拟机层面上解决竞争关系,尽可能避免真实的竞争发生。同时,在竞争不激烈的场合,也会试图消除不必要的竞争。实现这些手段的方法包括:偏向锁、轻量级锁、自旋锁、锁消除、锁膨胀等 1.…
java 静态函数锁对象说明
在内存加载.class文件后,会自动创建一个对象,用于保存class的信息,与我们程序员手工创建的对象不一样.
线程的相关知识、JAVA实现死锁、生产者消费者问题
线程有五种状态:创建、就绪、运行、阻塞、结束 isAlive:判断线程是否活着。就绪、运行、阻塞是活着,创建、结束是死了 getPriority、setPriority:设置优先级,明显的是,优先级高的,cpu分的时间片…
Java多线程-53-ReentrantLock类-互斥锁
前面文章末尾,我们提到wait会释放锁,而sleep不会释放锁。那么什么是锁,锁就是把线程锁住。也就是线程能被锁住,当然还有释放锁。这篇来了解下ReentrantLock类,中文的意思就是互斥锁。主要学习这个类的lock…