多线程
天才小熊猫12138584
这个作者很懒,什么都没留下…
展开
-
Java自带线程池的解析
线程池是什么?线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线...原创 2020-04-09 23:58:10 · 413 阅读 · 0 评论 -
JAVA 实现扑克牌洗牌发牌 - (多线程方式)
概述:昨天看了一个痘印,一个使用js实现的斗地主发牌。当时来了兴趣,就想着用JAVA实现一个发牌。虽然没有js配合前端页面那么炫酷。但也是整体实现了,全程自己的思路。就当是锻炼一下把。说一下大概思路:扑克牌斗地主。首先:需要一副扑克牌。扑克牌四种花色。红心,黑心,方块,和梅花。还有两张鬼牌每种花色有13种不同大小的牌。 发牌之前需要洗牌。简单点就是把牌的顺序打乱。 首先要拿出...原创 2019-03-08 10:24:15 · 3160 阅读 · 0 评论 -
Java 多线程(一)synchronized 的用法详解
synchronized 定义在并发编程中存在线程安全问题,主要原因有:1.存在共享数据 2.多线程共同操作共享数据。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,同时synchronized可以保证一个线程的变化可见(可见性),即可以代替volatile。synchronzied 是 悲观锁synchronized 关键字 对某个对象加锁 p...原创 2019-06-30 22:41:40 · 216 阅读 · 0 评论 -
JAVA多线程(二)volatile 关键字用法详解
volatile 关键字 使一个变量在多个线程可见AB 线程都使用到一个变量。 java 默认是A 线程中保留一份copy。 这样如果B线程修改了该变量。 则A线程未必知道使用了volatile关键字。 会在变量被修改的时候。 通知每一个线程。 让所有的线程都会读到变量的修改值。public class T { /*volatile*/ boolean running = true...原创 2019-06-30 22:54:50 · 419 阅读 · 0 评论 -
JAVA多线程(三)Reentranlock 用法详解
Reentranlock 如果用于替代 synchronized需要注意的是: 必须要手动释放锁。使用synchronized 锁定的话,如果遇到异常。 jvm 会自动释放锁。 但是lock 必须手动释放锁。 因此经常在finally中进行锁的释放public class ReentrantLock01 { Lock lock = new ReentrantLock(); void ...原创 2019-06-30 23:37:41 · 1035 阅读 · 0 评论