当前位置:网站首页 > 创业 > 正文

java多线程怎么控制并发数 怎么实现线程排队

0 张子豪 张子豪 2025-10-12 06:36 1

起首是近似的案例,好比说列队买票的问题,假若有20小我一路买票,只有两个窗口,怎么实现

阐发:

人=线程

2个窗口--资本

在窗口买票=线程正在执行

分开线程执行完毕

期待买票=线程梗阻

东西/原料

  • 旌旗灯号量
  • Semaphore

方式/步调

  1. 1

    起首明白旌旗灯号量Semaphore的用法,然后新建一个项目,new-->file-->class,随意定名,此处定名为semaphoreDemo

  2. 2

    起首起头一个线程MyTask,实现接口,然后在此中界说窗口买票的流程,本家儿要有进入,买完了,分开,然后释放旌旗灯号量,让下一个进入

  3. 3

    然后设心猿意马一个旌旗灯号量,本家儿如果执行函数,此处界说窗口个数,然后界说线程池ExecutorService,轮回执行这20小我

  4. 4

    最后经由过程main函数挪用execute函数进行列队问题,起头列队线程

  5. 5

    在打印中可以看到两个线程在并发执行,剩下的人处于列队状况,只有上一个执行完了下一个才执行

注重事项

  • 线程旌旗灯号量semaphore,本家儿要用于节制并发数

来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!


本文链接:https://www.ibaiwen.com/web/238139.html

张子豪

张子豪

TA很懒,啥都没写...

@百闻娱乐 本站部分内容转自互联网,若有侵权等问题请及时与本站联系,我们将在第一时间删除处理。 | 粤ICP备2024343649号 | (地图