gpt4 book ai didi

Java - 线程 - Sun 教程之一中的问题

转载 作者:行者123 更新时间:2023-11-30 07:37:20 25 4
gpt4 key购买 nike

我正在读这个Sun's tutorial on Thread .

我在那里找到了一段代码,我认为可以用更少行的代码代替。我想知道为什么 Sun 的专业程序员在可以用更少的代码行完成任务的情况下走那么远。

我问这个问题是为了知道我是否遗漏了教程想要传达的内容。

代码块如下:

    t.start();

threadMessage("Waiting for MessageLoop thread to finish");
//loop until MessageLoop thread exits
while (t.isAlive()) {
threadMessage("Still waiting...");
//Wait maximum of 1 second for MessageLoop thread to
//finish.
t.join(1000);
if (((System.currentTimeMillis() - startTime) > patience) &&
t.isAlive()) {
threadMessage("Tired of waiting!");
t.interrupt();
//Shouldn't be long now -- wait indefinitely
t.join();
}

}
threadMessage("Finally!");

我认为上面的代码可以用下面的代替:

t.start();
t.join(patience); // InterruptedException is thrown by the main method so no need to handle it

if(t.isAlive()) {
// t's thread couldn't finish in the patience time
threadMessage("Tired of waiting!");
t.interrupt();
t.join();
}

threadMessage("Finally!");

最佳答案

t.join(1000) 

该代码实际上不应该尽可能智能,但我猜它是用来演示用法的

关于Java - 线程 - Sun 教程之一中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2756993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com