2016-01-15 4 views
-6

У меня небольшая проблема с моим проектом java.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 (Заказчик) .join

+0

Thread thread = new Thread (новый клиент (c)); Thread.start(); Thread.join(); – Rustam

+3

Это не возможно и не рекомендуется для удобства чтения. Однако вы можете встроить переменные 'Common' и' Client'. – Clashsoft

+5

Код для удобства чтения. Практически нет никакой пользы от попыток сковать как можно больше в одну линию. – tnw

ответ

0

Там нет никакой пользы для упаковки как можно больше в строке кода. Отделите его как можно больше, чтобы было легко читать.

Строго говоря, нет необходимости называть join() в этом случае. Цель объединения состоит в том, чтобы заставить один поток ждать окончания другого потока, но это довольно грубая форма контрольной точки. Поскольку JVM все равно выйдет, когда ваш начальный поток завершится, и это желаемое поведение, вам не нужно явно его вызывать.

+0

Uh ??? Нет, это стандартное использование потоков. Это очень распространенное поведение, чтобы подождать до конца некоторой подчиненной нити. Пока вы не знаете, что делает нить, вы не можете дать такой совет. –

Смежные вопросы