高并发专题
文章平均质量分 83
Java多线程与高并发
「已注销」
这个作者很懒,什么都没留下…
展开
-
Java中线程的6种状态
那如果在RUNNABLE的线程再次调用start呢?其实就会 线程状态的异常。就是底层源码在调用start()方法的时候 针对状态做了判断, 如果不是NEW状态就会报线程状态的异常。如果线程执行完,再调用一次start又会怎么样?所以肯定也是报错啊!我们知道 , 虽然很多八股文面试题中说Java创建线程的方式有3种、4种,或者更多种,但实际上他们底层都是new Thread()那当创建完一个Thread,这时线程处于NEW状态,那这时调用start()方法,会让线程进入到RUNNABLE状态。原创 2024-08-11 10:21:39 · 677 阅读 · 0 评论 -
详解线程池的使用
线程池其实就是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过的线程,这里的任务就是我们前面学过的实现了Runnable或Callable接口的实例对象;我们其实可以这样理解:**线程池:**其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。由于线程池中有很多操作都是与优化资源相关的,我们在这里就不多赘述。原创 2024-08-05 20:12:24 · 1375 阅读 · 0 评论 -
生产者与消费者
生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为Object类的等待和唤醒方法。原创 2024-08-05 16:08:43 · 432 阅读 · 0 评论