公众号:架构师与哈苏
关注公众号进入it交流群! 公众号:架构师与哈苏 不定时都会推送一些实用的干货。。。
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 31 下一页
摘要: Semaphore是什么 Semaphore通常我们叫它信号量,可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。 使用场景 通常用于哪些资源有明确访问数量限制的场景,常用于限流。 Sempahore常用方法说明 acquire() 获取一个令牌,在获取到令牌、或者被其 阅读全文
posted @ 2021-08-09 16:14 公众号/架构师与哈苏 阅读(174) 评论(0) 推荐(0) 编辑
摘要: Condition 类的 awiat 方法和 Object 类的 wait 方法等效 Condition 类的 signal 方法和 Object 类的 notify 方法等效 Condition 类的 signalAll 方法和 Object 类的 notifyAll 方法等效 Reentrant 阅读全文
posted @ 2021-08-09 15:21 公众号/架构师与哈苏 阅读(209) 评论(0) 推荐(0) 编辑
摘要: void lock(); Acquires the lock. Acquires the lock if it is not held by another thread and returns immediately, setting the lock hold count to one. If 阅读全文
posted @ 2021-08-09 14:42 公众号/架构师与哈苏 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 定义 守护线程-也称"服务线程",他是后台线程,它有一个特性,即为用户线程提供公共服务,在没有用户线程可服务时会自动离开。例如:垃圾回收线程,当JVM中所有线程都是守护线程的时候,JVM就可以退出了;如果还有一个或以上的非守护线程则JVM不会退出。 特点 守护线程的优先级比较低,用于为系统中的其他对 阅读全文
posted @ 2021-08-06 15:33 公众号/架构师与哈苏 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 原理 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New、就 绪( Runnable 行( Running)、阻塞( Blocked)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可能一直"霸占"着CPU独自运 行,所以C 阅读全文
posted @ 2021-08-06 14:41 公众号/架构师与哈苏 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1.正常运行 程序运行结束,线程自动结束 2.使用退出标志退出线程 一般run方法执行完,线程就会正常结束,然而有些线程需要他们长时间run,只有外部某些条件满足的情况下,才能关闭这些线程。我们就可以通过一个变量来控制。 package com.wzq.demoftl.thread; public 阅读全文
posted @ 2021-08-06 11:02 公众号/架构师与哈苏 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 第一点:降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二点:提高响应速度。当任务达到时,任务可以不需要等到线程创建就能立即执行。 第三节:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控 阅读全文
posted @ 2021-08-06 09:54 公众号/架构师与哈苏 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 1.可见性 本质是在告诉jvm当前变量在寄存器(工作内存)中的值不确定,需要从主存中读取。 2.禁止重排序 对它执行的指令不可以乱序,防止了其他线程拿到一个半初始化的对象,使用内存屏障。 阅读全文
posted @ 2021-08-05 17:08 公众号/架构师与哈苏 阅读(24) 评论(0) 推荐(0) 编辑
摘要: synchronized关键字 1.原子性 2.可见性 理解 java早期版本中,synchronized属于重量级锁,效率底下,java的线程是映射到操作系统的原生线程之上的。 唤起和挂起,都需要原生系统帮忙完成。 java6之后java官方从jvm层面对synchronized较大的优化,如:自 阅读全文
posted @ 2021-08-05 16:52 公众号/架构师与哈苏 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 两个方法都可以向线程池提交任务,execute()方法的返回类型是void,它定义在Executor接口中,而submit()方法返回有计算结构的Future对象,它定义在ExecutorService接口中,它拓展了Executor接口,其他线程池类像ThreadPoolExecutor和Sche 阅读全文
posted @ 2021-08-05 16:21 公众号/架构师与哈苏 阅读(253) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 31 下一页