Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
[quot satch]MasterZiv опрашивать все экземпляры с периодичностью 1 раз в 5 сек => выходит что оптимальный вариант - это отдельный поток (скорее всего рабочий, а не интерфейсный) под каждый экземпляр + таймер. А как по-другому?Sleep(5000) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 09:47 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
[quot ?]satchпропущено... Sleep(5000) Не выдерживает критики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 10:21 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
[quot Анатолий Широков]?пропущено...Не выдерживает критики.Почему? Зациклить поток: Код: plaintext 1. 2. 3. 4. 5. Для данной задачи больше и не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 10:27 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
[quot m_Sla]Анатолий Широковпропущено... Почему? Зациклить поток: Код: plaintext 1. 2. 3. 4. 5. Для данной задачи больше и не нужно. Обычно такой цикл организуется следующим образом: Код: plaintext 1. 2. 3. 4. 5. Но топикастер всего лишь захотел дополнительно контролировать из главного потока запуск опроса - в чем криминал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 10:34 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковВообще, у меня был единственная мысль - ты, как программист, должен контролировать создание потоков при организации многопотоковых вычислений.Понимаете какое дело ... Некоторое время назад, в реальном коде, я сделал так, что система сразу создала несколько сотен потоков. До рефакторинга эти потоки создавались по мере надобности. Исходя из вашей логики - я поступил плохо. А это - не так. В реальной работе реально могли потребоваться все эти сотни потоков и если ресурсов не хватит при старте приложения, то админ быстро урежет осетра и, при необходимости, начнёт думать о выделении дополнительных ресурсов. В сочетании с тем, что мой подход позволил ещё и упростить код и сделать его правильным, ваш тезис о необходимости экономии ресурсов - просто рассыпается. Эффективный код уже использует столько ресурсов, сколько это действительно необходимо, поэтому навыки написания эффективного кода - важнее, чем рассуждения о необходимости экономии ресурсов. P.S. У меня был простой случай, анализ которого занял буквально пять минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 11:20 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
satchУ меня задача состоит в том, что в программе нужно организовать (асинхронно) опрос 4-х удаленных экземпляров СУБД MySQL на наличие новых данных в таблице (обычный select count(*) from таблица), например, опрашивать все экземпляры с периодичностью 1 раз в 5 сек => выходит что оптимальный вариант - это отдельный поток (скорее всего рабочий, а не интерфейсный) под каждый экземпляр + таймер. А как по-другому? отдельный поток плюс Sleep. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 11:27 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
[quot Анатолий Широков]m_Slaпропущено... Обычно такой цикл организуется следующим образом: Код: plaintext 1. 2. 3. 4. 5. Но топикастер всего лишь захотел дополнительно контролировать из главного потока запуск опроса - в чем криминал? Ну, можно и так. Но ты забегаешь вперёд, остановку потока мы ещё не обсуждали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 11:28 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНекоторое время назад, в реальном коде, я сделал так, что система сразу создала несколько сотен потоков. До рефакторинга эти потоки создавались по мере надобности. Исходя из вашей логики - я поступил плохо. А это - не так. Да из любой логики это плохо, это просто неразумное расходование ресурсов системы. Кол-во потоков не должно превышать реального уровня параллелизма в системе с учётом коэффициента простоя потоков. Ну нет у тебя нескольких сотен процессоров, нет смысла создавать несколько сотен потоков. тебе надо создавать ровно столько потоков, сколько у тебя процессоров (ядер) , помноженное на коэффициент использования -- если в задаче половину времени поток простаивает -- на два, если 2/3 простаивает -- на три, и тому подобное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 11:34 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Мой призыв контролировать выделение ресурсов был переписан как "экономить" на ресурсах. Это несколько разные тезисы. Мой призыв создавать потоки, исходя из возможностей программно-аппаратного комплекса, а не только по первому требованию задачи - тоже был не услышан. Мне, пожалуй, больше нечего сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 11:44 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
MasterZivДа из любой логики это плохо, это просто неразумное расходование ресурсов системы.И вы даже можете обосновать эту неразумность?Кол-во потоков не должно превышать реального уровня параллелизма в системе с учётом коэффициента простоя потоков. Ну нет у тебя нескольких сотен процессоров, нет смысла создавать несколько сотен потоков."Это просто праздник какой-то" Карабас-Барабас голосом Владимира Этуша. Куча народу непросто лучше меня разбираются в том, что и как у нас работает, они ещё и курсы дистанционного обучения проводят. С выдачей справок о профнепригодности и развешиванием ярлыков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 11:54 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Да успокойтесь, никто никаких ярлыков не вешал и ни в какой профнепригодности вас не уличал. Стратегия ваша понятна - создавать столько потоков, сколько требуется задаче. Она работает отлично и слава богу. Вам лишь сказали, что такая стратегия не единственная. К слову, при создании веб-сервисов обычно применяют пулы потоков и избегают создания потоков по требованию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 12:07 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovMasterZivДа из любой логики это плохо, это просто неразумное расходование ресурсов системы.И вы даже можете обосновать эту неразумность?Кол-во потоков не должно превышать реального уровня параллелизма в системе с учётом коэффициента простоя потоков. Ну нет у тебя нескольких сотен процессоров, нет смысла создавать несколько сотен потоков."Это просто праздник какой-то" Карабас-Барабас голосом Владимира Этуша. Куча народу непросто лучше меня разбираются в том, что и как у нас работает, они ещё и курсы дистанционного обучения проводят. С выдачей справок о профнепригодности и развешиванием ярлыков. Ваш спор беспредметен. Можно загрузить конфигурацию CPU == THREAD на 100% а можно CPU == 100 * THREAD не загрузить. Все зависит от предмета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 12:12 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
вы даже можете обосновать эту неразумность? Да я вроде обосновал... Куча народу непросто лучше меня разбираются в том, что и как у нас работает, они ещё и курсы дистанционного обучения проводят. С выдачей справок о профнепригодности и развешиванием ярлыков. Так не нравится — не читай! Ты сюда вот чё пришел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 12:29 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковМой призыв создавать потоки, исходя из возможностей программно-аппаратного комплекса, а не только по первому требованию задачи - тоже был не услышан.Аналогично, но мне есть, что сказать - The AJP Connector , параметр minSpareThreads и описание (выделено мною): "The minimum number of threads always kept running . If not specified, the default of 10 is used". У нас этот параметр выставлен на несколько сотен. И не из-за дефектов используемого приложения, а потому, что я лучше разбираюсь в характере нагрузки этого сайта, нежели вы или MasterZiv. P.S. Есть разница между использованием десктопа и сервера. Последний спроектирован для надёжной работы при длительной высокой нагрузке. Поэтому, когда у вас - карьерный самосвал, то возить в нём пару мешков картошки - не всегда разумно. Хотя компьютерные "самосвалы", в отличие от карьерных и в этой ситуации - вполне эффективны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 12:29 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovАнатолий ШироковМой призыв создавать потоки, исходя из возможностей программно-аппаратного комплекса, а не только по первому требованию задачи - тоже был не услышан.Аналогично, но мне есть, что сказать - The AJP Connector , параметр minSpareThreads и описание (выделено мною): "The minimum number of threads always kept running . If not specified, the default of 10 is used". У нас этот параметр выставлен на несколько сотен. И не из-за дефектов используемого приложения, а потому, что я лучше разбираюсь в характере нагрузки этого сайта, нежели вы или MasterZiv. P.S. Есть разница между использованием десктопа и сервера. Последний спроектирован для надёжной работы при длительной высокой нагрузке. Поэтому, когда у вас - карьерный самосвал, то возить в нём пару мешков картошки - не всегда разумно. Хотя компьютерные "самосвалы", в отличие от карьерных и в этой ситуации - вполне эффективны. Аааа... Джааафа... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 12:38 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Да, сам использует пул, а на сторону говорит, что де используйте сколько, сколько требуется задаче. Круто ты всех водишь за нос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 12:45 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковДа, сам использует пул, а на сторону говорит, что де используйте сколько, сколько требуется задаче. Круто ты всех водишь за нос.Ничего не понял ... Вы заявили, что тысяча потоков это много и нехорошо, я - что это совершенно не так и определяется требованиями задачи. Если вы хотели сказать, что потенциально неограниченный рост потоков это плохо, то - да, но как это соотносится с размером пула??? Ведь и размер пула может быть таким, что не хватит системных ресурсов на его создание/заполнение. А топикстартеру и пул никакой не нужен - у него этих потоков будет пять, как максимум . Но, тем не менее, он уже заранее беспокоится об экономии ресурсов. Смешно же, ей-богу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 12:57 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Во всех своих постах я ровно одно утверждал - нельзя проектировать систему так, что это может привести к неконтролируемому порождению неограниченного числа потоков. Ты же утверждал, что ипользуйте столько, сколько требуется задаче. Ну и кому теперь смешно должно быть? Сам всех за нос водил, а сам все же использует пул и полностью контролирует создание потоков. Чего ты тень на плетень навел. А 1000 потоков появилась исключительно как гипербола. Следуя твоему же утверждение, что если твоей задаче понадобится 60000 потоков, ты без оглядки на ресурсы эти потоки и создашь. Фиг, не создашь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 13:05 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковВо всех своих постах я ровно одно утверждал - нельзя проектировать систему так, что это может привести к неконтролируемому порождению неограниченного числа потоковЗадаче ТС это не грозит, наоборот, он занимается преждевременной оптимизациейСледуя твоему же утверждение, что если твоей задаче понадобится 60000 потоков, ты без оглядки на ресурсы эти потоки и создашь.Нет - я пересмотрю задачу и создам столько потоков, сколько потребуется для нового решения . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 13:10 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковВо всех своих постах я ровно одно утверждал - нельзя проектировать систему так, что это может привести к неконтролируемому порождению неограниченного числа потоков. Ну, ты это хотел утверждать, а писал - немного другое. Пока контролируется время работы потока и частота их порождения - их число не станет неограниченным. Таймер это как раз контроль частоты порождения. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 13:12 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Я так понял, что топикастер создал два потока по потоку на соединение с серверами СУБД (у него, как я понял, их два). Абсолютно не преждевременная оптимизация. Абсолютно нормальное решение. Появится третий сервер, он создаст третий поток. В чем же он так не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 13:13 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковВ чем же он так не прав? В использовании таймера, как уже не раз было сказано. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 13:16 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovАнатолий ШироковВо всех своих постах я ровно одно утверждал - нельзя проектировать систему так, что это может привести к неконтролируемому порождению неограниченного числа потоков. Ну, ты это хотел утверждать, а писал - немного другое. Ты можешь привести примеры моих высказываний, где я писал "немного другое"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 13:17 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovАнатолий ШироковВ чем же он так не прав? В использовании таймера, как уже не раз было сказано. Может у него на диалоге спин с частотой опроса серверов. Почему тогда не перенастроить таймер и не оповещать потоки, когда они могут приступить к опросу? Почему ты отвергаешь такую схему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 13:20 |
|
||
|
Как связать потоковую функцию с таймером
|
|||
|---|---|---|---|
|
#18+
Анатолий ШироковТы можешь привести примеры моих высказываний, где я писал "немного другое"? Могу: Анатолий ШироковИх нужно столько, сколько их использование будет оправдано текущими аппаратными и программными ресурсами. Бездумное и неконтролируемое создание потоков путь в никуда. Порождение потоков по таймеру - не "бездумное" и не "неконтролируемое". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2013, 13:23 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38320169&tid=2020100]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
181ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 306ms |

| 0 / 0 |
