-5

我有一个普遍的问题。我一直在阅读一本 Java 书籍,并且遇到了一个使用 Threads 的程序。书中指出线程用于多处理。我想知道,如果我写:

Thread t=new Thread(new classname);
t.start;
//after it some GUI code to display the input received from user in run method

然后我重写运行方法以从用户那里获取输入,然后,它会等待输入,然后执行诸如打开框架之类的 GUI 任务,或者它会同时执行这两个任务。

4

1 回答 1

1

它们会同时发生。(除非您使用锁或信号量阻塞其中一个线程。)

如果 gui 线程依赖于其他线程的输入处理,您将遇到竞争条件。因此,您肯定会想要阻止 gui 线程,直到另一个线程完成生成 gui 线程所需的任何内容。

至于为什么需要线程,那么任务可以同时完成,这样程序就可以更快地完成它们的工作。

于 2015-02-11T19:49:03.040 回答