
线程
文章平均质量分 56
不带刺仙人球
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程的5种状态
参考:https://blog.youkuaiyun.com/xingjing1226/article/details/819771291.新建(NEW):新创建了一个线程对象。2.可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。3.运行(RUNNING):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。4.阻塞...原创 2021-03-10 11:28:46 · 147 阅读 · 0 评论 -
分布式加锁
参考:https://www.jianshu.com/p/6d1fd5d8fe0a参考:https://www.cnblogs.com/harry335/p/5473480.html参考:https://blog.youkuaiyun.com/qq_35349114/article/details/84027745分布式锁:排他性、避免死锁、高可用实现方式为:数据库实现、基于Redis实...原创 2019-12-12 14:40:56 · 244 阅读 · 0 评论 -
Java自旋锁
参考:https://blog.youkuaiyun.com/fuyuwei2015/article/details/83387536自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。自旋锁可以使线程在没有取得锁时,不被挂起,而转去执行一个空循环,在若干个空循环后,线程如果可以...原创 2019-12-10 11:27:24 · 266 阅读 · 0 评论 -
线程顺序输出
参考:https://blog.youkuaiyun.com/qq_41384351/article/details/91447089三个线程ID为ABC,每个将自己的ID在屏幕打印10遍,结果按ABCABC...样式显示ThreadTest.javapackage jvm;/* * 三个线程ID为ABC,每个将自己的ID在屏幕打印10遍,结果按ABCABC...样式显示 * */...原创 2019-12-03 13:58:17 · 186 阅读 · 0 评论 -
CyclicBarrier
参考:https://blog.youkuaiyun.com/qq_38293564/article/details/80558157CyclicBarrier此为栅栏,类似于闭锁。它能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行。闭锁用于等待事件,而栅栏用于等待其他线程。CyclicBarrier可以使一定数量的线程反复地在栅栏位置处汇...原创 2019-12-01 23:30:40 · 112 阅读 · 0 评论 -
wait和notify举例
wait通知,释放锁。notify不释放锁。MyThread1等待通知。MyThread2发通知。package waitNotice;public class MyThread1 extends Thread{ private Object lock; public MyThread1(Object lock){ super(); this.lock=lock;...原创 2019-12-01 22:36:10 · 436 阅读 · 0 评论 -
volatile
保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。(实现可见性) 禁止进行指令重排序。(实现有序性) volatile 只能保证对单次读/写的原子性。i++ 这种操作不能保证原子性。volatile的作用是强制从公共堆栈中取得变量的值。...原创 2019-12-01 21:33:28 · 163 阅读 · 0 评论 -
java中sleep和wait方法区别
对于sleep方法,该方法属于Thread类,而wait方法,属于Object类。sleep方法导致了程序暂停执行指定的时间,但会保持监控状态,线程不会释放对象锁。 当调用wait方法的时候,线程会释放对象锁,只有执行notify方法后,本线程才进入运行状态。 main方法,调用另一个类中方法时,另一个类中方法,Thread.currentThread().getName(),...原创 2019-02-15 15:18:36 · 571 阅读 · 0 评论 -
Thread.currentThread().getName()和this.getName()区别
参考Tracycater的专栏 ,网址:https://www.2cto.com/kf/201701/586777.html参考:Java多线程编程核心技术(P17-P18)package ThreadTest;public class CountOperate extends Thread{ public CountOperate(){ Syste...原创 2018-12-12 10:50:54 · 738 阅读 · 0 评论 -
java线程安全(synchronized )
参考 Rowland的博客: 网址:https://www.cnblogs.com/rwland/articles/9163183.htmljava synchronized:方法锁、对象锁、类锁其中:非静态方法锁和对象锁,都是对象实例的锁,即对象锁。应用于对象实例,实例可很多。 静态方法或类,都是类锁,只有一个类。应用于静态方法或类的class。类只有一个。...原创 2018-12-27 13:10:50 · 220 阅读 · 0 评论 -
线程同步synchronized与lock的区别
T1为具体的方法,T2为线程对象,T3为运行类。synchronized当发生异常时,锁会自动释放。且同步不具备继承性。代码:T1.javapackage thread;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class T1...原创 2018-12-13 23:49:12 · 281 阅读 · 0 评论