|
|
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
chpashaавторРасширение Thread лишает возможности использования пулов. как предлагаешь понимать сие? Предлагаю понимать так: расширение Thread вносит двойственность в рантайм задачи, так что не всегда понятно то ли она выполнилась в пуле, то ли в потоке, который реализует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 14:53:11 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
забыл никВы так умело придираетесь к чужим словам и неправильно сформулированным фразам... Вообще, технически ничего не мешает сделать самый верхний класс иерархии наследником Thread, а остальные наследовать от него, только это, конечно, глупость несусветная.если бы ничего не мешало, не плакались бы о множественном наследовании. достаточно базовому классу находится в библиотеке и уже приплыли. забыл никГде тут хоть слово про то, что "при наследовании от Thread нельзя юзать пул потоков."(c)? вот: ivanov-voidРасширение Thread лишает возможности использования пулов. прежде, чем ты скажешь, что это не ты сказал - да не ты, а он. а я ему возразил. а ты мне сказал, чтоб я его слушал и вообще пошел про concurrency почитал. забыл никавторя правильно понимаю, ты пять минут назад еще не знал, что Thread это Runnable, Спасибо что объяснил, лол:)на здоровье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 14:56:55 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
chpashaivanov-voidРасширение Thread лишает возможности использования пулов. прежде, чем ты скажешь, что это не ты сказал - да не ты, а он. а я ему возразил. а ты мне сказал, чтоб я его слушал и вообще пошел про concurrency почитал. Ок, забей, да я тоже недосмотрел под чем подписываюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 15:01:26 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
Резюмируя, возвращаю читателя к поправке, сделанной несколько позже, но, почему- то, оставшейся незамеченной, судя по тексту, последовавшему после нее: 12585516 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 16:02:07 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
ivanov-voidРезюмируя, возвращаю читателя к поправке не понятно, что автор хотел этим кодом сказать. налицо зависимость от класса SomeThread. То что этот класс наследует Thread из контекста не прослеживается, никакие свойства и методы Thread не вызываются, так где приведенный код зависит от Thread? Замените в классе SomeThread наследование на implements Runnable и исходный код никак не поменяется. В данном случае вредность наследования от Thread никак документально не подтверждается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 16:47:46 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
Наследование классов приводит к сильной связности. Имеет смысл расширять Thread , если вы хотите изменить его поведение по- умолчанию, путем переопределения тех или иных методов. Без необходимости этого делать не следует. Реализация же интерфейса Runnable ведет к слабой связности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 17:30:11 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
ivanov-voidРеализация же интерфейса Runnable ведет к слабой связности. Чего-чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 17:36:07 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
Более наглядный пример связности - создаем новые потоки и задачи . Для экземпляра Thread вызов метода run приводит к синхронному запуску потока , тогда как для экземпляра задачи просто выполняется метод . Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Теперь что касается пулов. Далее в классе Executors для двух этих вызовов - Код: java 1. 2. 3. 4. 5. , конструируется новый поток следующим образом - Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Т.е. смысла применять расширения Thread для пулов нет, а следовательно и сама возможность теряет смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2012, 00:21:09 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
ivanov-voidТ.е. смысла применять расширения Thread для пулов нет, а следовательно и сама возможность теряет смысл. Вы просто гениальны.... Спасибо что рассказали что thread pool юзает свои потоки для выполнения задач.... Еще откровения будут ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2012, 01:16:52 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
thread.run не стартует поток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2012, 01:22:46 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
schwa, Да, вы правы, небольшая ремарка - в данном случае происходит синхронное выполнение двух методов, последовательно, в одном и том же потоке. Но, реализуя Runnable, я могу определить свой метод start(), и вызвать его в главном потоке; start() же экземпляра, наследующего Thread, запустит новый поток асинхронно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2012, 03:34:37 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
В том, что Thread реализует Runnable нет никакого смысла, это просто еще один прикол в стандартной библиотеке. Никто не положит в thread в Executor. Также как и никто не будет никогда писать Runnable, который запускается не вызывом метода run. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2012, 10:41:33 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
Никто не мешает реализовать Executor, который в зависимости от обстоятельств будет использовать Thread как Runnable или как Thread. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2012, 10:53:04 |
|
||
|
Быстро перейти с С++ на Java
|
|||
|---|---|---|---|
|
#18+
ivanov-voidНо, реализуя Runnable, я могу определить свой метод start(), и вызвать его в главном потоке; start() же экземпляра, наследующего Thread, запустит новый поток асинхронно.Реализуя метод start, ты не можешь больше ссылаться на объект как на Runnable, а должен указывать его конкретный тип. И вот тут-то мы и получаем ту пресловутую связность. точно также мы не можем вызвать start у Thread не зная что это именно Thread. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2012, 12:35:56 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37803994&tid=2131750]: |
0ms |
get settings: |
12ms |
get forum list: |
26ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
61ms |
get topic data: |
22ms |
get forum data: |
6ms |
get page messages: |
94ms |
get tp. blocked users: |
3ms |
| others: | 347ms |
| total: | 583ms |

| 0 / 0 |
