如何在java中对线程进行排队

问题描述 投票:0回答:1
public void meow(){
        synchronized (Cat.class) {
        sout("meow");
            }
 }

假设程序有

cat1
cat2
cat3
对象。

如果

cat1
想先运行meow函数,就让
cat1
先运行它,
如果
cat2
希望它第二个运行,则
cat2
应该运行它,然后
cat3
最后运行。
先进先出逻辑。

但是,我认为jvm通常会自己设置它,所以我无法根据请求顺序对其进行优先级排序。我怎样才能在java中做到这一点?

我需要一个简单的方法。

java multithreading concurrency java-threads
1个回答
0
投票

单线程执行器服务

如果您想要按顺序运行任务,请将它们提交到由单线程支持的执行器服务

ExecutorService executorService = Executors.newSingleThreadExecutor() ;
© www.soinside.com 2019 - 2024. All rights reserved.