Как насчет этого решения?
Он не использует класс Thread, но он является параллельным и таким образом делает именно то, что вы запрашиваете
ExecutorService pool = Executors.newFixedThreadPool(2); // creates a pool of threads for the Future to draw from
Future<Integer> value = pool.submit(new Callable<Integer>() {
@Override
public Integer call() {return 2;}
});
Now все, что вы делаете, это сказать value.get()
всякий раз, когда вам нужно захватить возвращаемое значение, поток запускается в самый последний момент, когда вы даете value
значение, поэтому вам никогда не придется говорить threadName.start()
.
Что такое Future
, является обещанием для программы, вы обещаете программе, что вы получите ее значение, которое потребуется в ближайшем будущем
Если вы назовете .get()
на нем до того, как это будет сделано, поток, который его вызывает, просто просто дождитесь, пока это будет сделано
$ newtime = date ("H: i: s", strtotime ($ this-> time)); попробуй вот так