多线程
文章平均质量分 89
weixin_44197016
这个作者很懒,什么都没留下…
展开
-
Java利用线程工厂监控线程池
文章目录ThreadFactory监控线程池扩展线程池扩展线程池示例优化线程池大小线程池死锁线程池异常信息捕获 ThreadFactory 线程池中的线程从哪里来呢?就是ThreadFoctory public interface ThreadFactory { Thread newThread(Runnable r); } Threadfactory里面有个接口,当线程池中需要创建线程就会调用该方法,也可以自定义线程工厂 public class ThreadfactoryText {原创 2021-04-29 10:04:32 · 109 阅读 · 0 评论 -
多线程之线程池
文章目录什么是线程池JDK提供与线程池相关的API线程池的计划任务线程池的底层实现线程池的拒绝策略 什么是线程池 在真实的生产环境中,可能需要很多的线程来支撑整个应用,当线程数量非常多时,反而会耗尽CPU资源,如果不对线程进行控制和管理,反而会影响程序的性能,线程开销主要包括: 创建与启动线程的开销 线程销毁的开销 线程调度的开销 线程数量受限CPU处理器数量 线程池就是有限使用线程的一种常用方式,线程池内部可以预先创建一定数量的工作线程,客户端代码直接将任务作为一个对象提交给线程池,线程原创 2021-04-29 10:03:58 · 94 阅读 · 0 评论 -
多线程之线程管理
文章目录1.线程组1.1返回当前main的线程组1.2 定义线程组,如果不指定线程组,则自动归为当前所属的线程1.3 定义线程组同时指定父线程1.4创建线程时指定所属线程组1.5线程组的基本操作2.捕获线程的执行异常2.1.Thread类相关异常处理方法2.2设置线程异常的回调接口方法3.注入Hook钩子线程 1.线程组 类似于计算机中,使用文件夹管理文件,也可以使用线程组来管理线程,在线程组中定义一组相似的线程,在在线程组中也可以定义子线程组。 Thread类有几个构造方法允许原创 2021-04-29 10:03:23 · 97 阅读 · 0 评论 -
生产者消费者模式
文章目录单生产和消费模式多生产和消费模式通过管道实现线程通信 单生产和消费模式 在Java中,负责产生数据的模块的是生产者,负责使用数据的模块是消费者,生产者消费者解决数据的平衡问题,即先有数据才能使用,没有数据时消费者需要等待。 例如:有一个饭店,它有一个厨师和一个服务员,服务员必须等厨师把菜做好了,通知到服务员才能上菜,然后返回继续等待,厨师代表生产者,服务员代表消费者,两个任务在被消费和生产同时运行。 public class Text17 { public static void main(原创 2021-04-29 10:03:02 · 44 阅读 · 0 评论 -
多线程之Lock显示锁
文章目录ThreadLocal的使用什么是Lock显示锁Lock锁的使用lock()、unlock()方法trylock(定时锁)方法trylock()lockInterruptibly方法newCondition方法公平锁与非公平锁Reentrantlock常用方法 ThreadLocal的使用 除了控制资源访问外,还可以通过增加资源来保证线程安全,ThreadLocal主要解决为每个线程绑定自己的值,相当于增加了一个副本,在进行数据库访问的时候,多个线程需要自己独立的 static 成员变量吗,那就需要原创 2021-04-29 10:02:08 · 89 阅读 · 0 评论 -
多线程之线程间通信
文章目录什么是等待通知机制等待通知机制的实现notify不会立即释放锁对象interrupt会中断线程的等待notify与notifyAll的区别wait(Long)的使用 什么是等待通知机制 在单线程中,要执行的操作需要满足一定条件才能执行,可以把这个操作放在if语句块中。 在多线程编程中,可能A线程的条件没有满足只是暂时的,稍后其他的线程B可能会更新条件使得A线程的条件得以满足,可以将A线程暂停,直到它的条件得到满足之后再将A线程唤醒 Atomic{ while(条件不成立) { 等待 } 条原创 2021-04-29 10:01:23 · 60 阅读 · 0 评论 -
多线程之volatile关键字
文章目录轻量级同步机制:volatile关键字volatile的作用volatile非原子特性volatile与synchronized比较常用原子类进行自增自减操作CAS使用CAS原理实现线程安全计数器CAS中的ABA问题原子变量类使用AtomicLong定义计数器 轻量级同步机制:volatile关键字 volatile的作用 关键作用是使变量在多个线程之间可见 public class VolatileText { public static void main(String[] args)原创 2021-04-29 10:00:42 · 148 阅读 · 0 评论 -
多线程具体实现
文章目录Java内存模型线程同步锁概述锁的作用锁的相关概念可重入性:一个线程持有该锁的时候能够再次/多次申请该锁锁的争用与调度锁的粒度内部锁:SynchronizedSynchronized同步代码块锁对象不同不能实现同步使用常量作为锁对象同步实例方法同步静态方法同步代码块和同步方法如何选择脏读线程出现异常释放锁死锁 Java内存模型 线程同步 线程同步机制是一套适用于协调线程之间的数据访问机制,该机制可以保障线程安全 java平台提供的线程同步机制包括:锁、volatile关键字、final关键字,s原创 2021-04-29 09:59:52 · 50 阅读 · 0 评论 -
多线程的概述
文章目录多线程创建方式一:继承Thread类多线程创建方式二:实现Runnable接口实现Runnable接口模拟简单抢票多线程方式三:实现Callable接口线程的常用方法1.1 Thread.currentThread()1.2 Thread.setName()/getName()1.3 isAlive()1.4 Sleep()1.5 getId()1.6 yieId()1.7 setPripority()1.8 interrupt()1.9 setDaemon()线程的生命周期多线程状态图多线程的原创 2021-04-29 09:43:15 · 91 阅读 · 0 评论