Как Threadpool повторно использует Threads и как он работает

Мои концепции многопоточности слабы и пытаются учиться.

Я знаю, что в Java мы не можем вызывать нить более одного раза, т.е.

Thread t = new Thread(//Some Runnable);
t.start()

t.start() //Illegal and throw Exception at Runtime.

Насколько я знаю, он вызывает исключение при повторном вызове t.start (), потому что связанный стек для потока уничтожается, как только он выходит изrun() метод, и вы пытаетесь инициализировать вещи снова.

В этом случае, что я знаю о Threadpool, это дает лучшую производительность и экономит время, потому что нет необходимости создавать новый поток. (Я читаю вhttp://www.javatpoint.com/thread-pooling-in-java)

если нет необходимости создавать новый поток в сценарии ThreadPool, то как он будет работать с тем же потоком, который только что завершил свой метод запуска, можно ли будет снова использовать этот поток?

Я прочитал это,http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html и это говорит о том, что "Большинство реализаций исполнителя в java.util.concurrent используют пулы потоков, которые состоят из рабочих потоков. Этот вид потока существует отдельно от задач Runnable и Callable, которые он выполняет, и часто используется для выполнения нескольких задач."

Так что же здесь представляет собой рабочий поток, он отличается от обычных потоков Java?

с этой ссылкойКак кешированный пул потоков повторно использует существующие потоки Я кое-что понял, но все еще не понял, какие вещи могут быть устранены, когда мы используем Thread Pool, и которые дают лучшую производительность, чем обычные Java Thread.

Так что мы можем сказать, как это,

Нить состоит из трех частей,

Создание (Сообщая ОС, что это новый поток, создайте для него стек.)Выполнить Runnable т.е. метод run ().Уничтожение Тем.

Таким образом, учитывая вышеупомянутые 3 шага, с помощью Threadpool шаг 1 и шаг 3 могут быть исключены после фиксированного количества создания потоков. будет выполнен только шаг 2 для каждой задачи, поэтому Threadpool быстрее? мы можем так сказать? я прав?

Ответы на вопрос(0)

Ваш ответ на вопрос