如何限制Java程序中的多线程?

时间:2019-06-07 06:50:45

标签: java multithreading

我正在创建一个在线判断程序,为此,我希望提交的Java代码不应利用CPU的并行处理。因此,我希望禁用Java应用程序的多线程。

发送到服务器的应用程序只是一个Java文件,它将被编译为字节码,然后执行,假设该应用程序正在使用线程,正在创建线程,则应通过抛出一些异常来关闭该应用程序像权限被拒绝一样的错误。

1 个答案:

答案 0 :(得分:0)

使用线程池代替线程。创建具有所需并行度的线程池,例如1:

(select (i32.const 3)
        (block (result i32) 
               (i32.const 5) )
        (local.get 0) )

通过将任务提交到线程池来替换线程创建:

ExecutorService threadPool = Executors.newFixedThreadPool(1);

替换为

Runnable r = ...
Thread t = new Thread(r);
t.start();
...
t.join();

通过这种方式,您可以创建任意数量的并行任务。