Это каким образом? Создавать еще один промежуточный класс вместо того, чтобы использовать основной класс?Palych wrote:IMHO, в этой hash map лучше хранить не runnable, а то что надобкаким но обрабатывать/сигналить/убивать.Интеррапт wrote:В то время, как если иметь свой hash map, куда добавлять/удалять runntable/thread в beforeExecute/afterExecute, то ты как бы всегда знаешь активные runnable и на каком thread он выполняется. И всегда можешь послать interrupt() этому потоку (ну и это уже дело автора, корректно имплементировать runnable, для обработки interrupt).
Так будет понятнее и безопаснее.
Java ThreadPoolExecutor - достучаться до working threads
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Java ThreadPoolExecutor - достучаться до working threads
-
- Уже с Приветом
- Posts: 3647
- Joined: 23 May 2010 15:10
Re: Java ThreadPoolExecutor - достучаться до working threads
я уже там выше писал, в чем смысл получить доступ с списку потоков = залеть руками в абстракцию, что-то вроде как через reflection к private полям лезтьИнтеррапт wrote: Я, честно говоря, вообще не понимаю, в чем смысл собственно получить доступ к списку threads, так мы от ТС этого и не добились. Ведь по большму счету, у вас может быть, например, с десяток threads в пуле и штук 100 разных Runnable's собственно с задачами, которые переодически на этом десятке thread-ов будут выполнятся. В чем тогда поинт получить ссылку на worker thread, если ты все равно не знаешь, какой в данный момент на этом thread выполняется runnable и как следствие ты с этим runnable не можешь взаимодействовать? В то время, как если иметь свой hash map, куда добавлять/удалять runntable/thread в beforeExecute/afterExecute, то ты как бы всегда знаешь активные runnable и на каком thread он выполняется. И всегда можешь послать interrupt() этому потоку (ну и это уже дело автора, корректно имплементировать runnable, для обработки interrupt).
-
- Уже с Приветом
- Posts: 13684
- Joined: 16 Jan 2001 10:01
Re: Java ThreadPoolExecutor - достучаться до working threads
Может быть и "основной" класс, смотря как оно сделано. Главное чтобы не Runnable.Интеррапт wrote:Это каким образом? Создавать еще один промежуточный класс вместо того, чтобы использовать основной класс?Palych wrote:IMHO, в этой hash map лучше хранить не runnable, а то что надо как-то обрабатывать/сигналить/убивать.Интеррапт wrote:В то время, как если иметь свой hash map, куда добавлять/удалять runntable/thread в beforeExecute/afterExecute, то ты как бы всегда знаешь активные runnable и на каком thread он выполняется. И всегда можешь послать interrupt() этому потоку (ну и это уже дело автора, корректно имплементировать runnable, для обработки interrupt).
Так будет понятнее и безопаснее.
Runnable должен раннить, чтобы была одна точка входа и выхода... Впрочем это мелочь. Never mind.
-
- Уже с Приветом
- Posts: 63430
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Java ThreadPoolExecutor - достучаться до working threads
Ужасно смотреть как попираются принципы инкапсуляции
Not everyone believes what I believe but my beliefs do not require them to.