【问题标题】:Java new keywordJava 新关键字
【发布时间】:2016-04-21 12:03:31
【问题描述】:

我的 java 项目有一个小问题。

这是正确的代码:

Common c = new Common("C",10);

Client c1 = new Client(c);
Thread newClientThread = new Thread(c1);
newClientThread.start();
newCLientThread.join();

如果我尝试在更少的行上写这个,它会看起来像:

Common c = new Common("C",10);
new Thread(new Client(c)).start();          //starts the thread

现在,我将如何编写 thread.join?

类似于 Thread(Client).join

【问题讨论】:

  • 线程线程=新线程(新客户端(c));线程.start();线程.join();
  • 出于可读性原因,这既不可能也不建议。不过,您可以内联 CommonClient 变量。
  • 代码的可读性优先。尝试尽可能多地塞进一行几乎没有任何好处。
  • 谢谢,我现在清楚了

标签: java oop object


【解决方案1】:

将尽可能多的内容打包到一行代码中没有任何好处。尽量分开,便于阅读。

严格来说,这种情况下不需要调用join()。 join 的目的是让一个线程等待另一个线程完成,但它是一种非常粗糙的检查点形式。由于当您启动的线程结束时 JVM 无论如何都会退出并且这是所需的行为,因此您不需要显式调用它。

【讨论】:

  • 呃???不,这是线程的标准用法。等待某个从线程结束是一种非常常见的行为。虽然你不知道线程在做什么,但你不能给出这样的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 2013-04-23
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
  • 1970-01-01
相关资源
最近更新 更多