0

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

我有几个线程在无限循环中运行以处理管道中的一组数据。每个线程的“运行”函数如下所示:

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

我的目标是让多个线程保持打开状态,并一次通过它们运行不同的数据集,并与信号量进行协调。我的问题是我的线程似乎没有同时运行。一旦我 run() 一个无限循环的线程,我的整个程序就会挂起,并且不会继续。我究竟做错了什么?

4

1 回答 1

2

一旦我 run() 一个无限循环的线程,

myThread.start() //correct way

not myThread.run() // this is not the correct way 
于 2013-11-08T10:20:20.110 回答