![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Java基础内容,包含线程、注解等
躺着最舒服
修炼成程序猿!
展开
-
wait和notify实现满仓20的压弹射击的生产者消费者模式
wait和notify主要应用在线程暂停和唤醒,wait会让出锁资源,所以在notify唤醒该线程时,需要重新竞争锁资源 简单的代码实现如下: private static int maxLoadNum = 20; private int bulltNum = 0; private synchronized void putBullt(){ if (bulltNum >= maxLoadNum) { try {原创 2021-04-06 16:20:08 · 120 阅读 · 0 评论 -
ThreadPool简单使用
线程池的应用比较广泛,主要是让开发人员在开发过程中减少自己创建线程,管理线程的细节。 1、核心线程开始执行 2、还有新任务,就填充到阻塞队列中,等待核心线程执行 3、阻塞队列满了,就开始创建新的线程,也就是第二个参数maximumPoolSize的数量了 4、如果达到了第二个参数的最大值,就会跑到RejectedExecutionHandler最后一个参数中的错误处理中 简单代码如下: public class MainActivity extends AppCompatActiv..原创 2021-04-06 16:14:35 · 319 阅读 · 0 评论 -
ThreadLoacl简单使用
ThreadLoacl简单理解,就是不是很多人同时抢一个足球了,而是教练每人发了一个足球,各自玩各自的,各自维护各自的,不能和别人抢夺。 简答使用效果如下 public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private Button bt1; private Button bt2; private Thre原创 2021-04-06 15:42:45 · 98 阅读 · 0 评论 -
java线程-如何用join实现T1、T2、T3线程,按照T3、T2、T1的顺序执行完毕
首先看一下join方法的内容和注释 直接看翻译,大概意思是 1、如果调用join方法时,如果时间参数为0,则是永远wait,和直接调wait方法很像 2、如果调用join方法时,时间参数大于0,就等待那么久,超时返回 3、这个join方法,用了一个while isAlive实现循环等待,判断只要当前线程活着,就调用wait 4、此方法可以被notifyAll结束 5、推荐应用程序中,不要在Thread用wait、notify和notifyAll /** * Waits at mos原创 2021-04-02 17:54:47 · 234 阅读 · 0 评论