繁体   English   中英

Java线程没有并发运行 - 我做错了什么?

[英]Java threads not running concurrently - what am I doing wrong?

我在使用信号量的多线程应用程序时遇到了一些麻烦,我试图用Java编程。

我有一些线程在无限循环中运行,以处理管道中的一组数据。 每个线程的'run'函数看起来像这样:

public void run()
{
while(true)
{
   try{
    //acquire semaphore, wait if unavailable
    //continue with code
}
   catch(InterruptedException e)
   {}
}

我的目标是保持多个线程打开并一次一个地运行不同的数据集,并与Semaphores协调。 我的问题是我的线程似乎没有同时运行。 一旦我运行()一个具有无限循环的线程,我的整个程序就会挂起,并且不会继续。 我究竟做错了什么?

一旦我运行()一个具有无限循环的线程,

myThread.start() //correct way

not myThread.run() // this is not the correct way 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM