Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

21.07.2009, 01:16
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
Проблема с потоками
Подскажите, с чем это связано или все так и должно быть. В общем, я писал несколько программ, которые работают в несколько потоков, которые в свою очередь отправляют HTTP запросы. Отправляют запрос и сразу же обрывают соединение, не дожидаясь ответа. Таймауты между отправкой запросов - 100 мсек. Не понимаю, с чем это связано, но такая программа при 10 потоках на моем компе 3,41 ГГц очень начинает подвисать система. Да и еще при том, что потоки работают с Priority tpLowest. Я все делаю правильно, - потоки освобождают себя из памяти и т.п... Но никак не пойму, почему система начинает глючить. Или так должно быть?
|
|
|

21.07.2009, 04:14
|
|
Новичок
Регистрация: 20.01.2009
Сообщений: 27
Провел на форуме: 47153
Репутация:
7
|
|
Напеши все характеристика компа! и исходники выложи
|
|
|

21.07.2009, 10:34
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Без исходников трудно предположить в чем проблема.Возможно они одновременно обращаются без синхронизации к каким то данным, то есть соперничают за доступ к ним.Оттудого и такая загрузка камня.
|
|
|

21.07.2009, 11:37
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
типичный признак "бескоченого цикла" в котором есть какие-нибудь расчеты например.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

21.07.2009, 13:55
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
У меня двухядерный 2,5 ГГц и держит запросто 1000 ожидающих потоков.
100 рабочий тоже держит и не грузит систему.
Так что у тебя дело только в реализации.
Помимо проверки циклов, еще обрати внимание на то как ты считываеш из сокета.
Если ты читаеш по 1 байту, то это будет давать весомую нагрузку.
|
|
|

21.07.2009, 23:48
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Как продолжение размышлений о потоках:
Пишу программу под .NET... использую местами http запросы + regex ....
Какое оптимальное количество работающих потоков на .NET приложение? А то где-то вычитал, что оптимально 25*кол-во процессоров
Последний раз редактировалось FireFenix; 22.07.2009 в 00:11..
|
|
|

22.07.2009, 02:34
|
|
Познающий
Регистрация: 12.05.2009
Сообщений: 45
Провел на форуме: 255342
Репутация:
28
|
|
Chrome~
Если работаешь с винсоками - мб забываеш освобождать WSA? (было как-то по невнимательности - через время тупо висла машина)
А вообще не вижу смысла в закрытии/высвобождении процессов после каждого запроса, почему бы не сделать постоянный процесс в котором постоянно отправляются запросы, закрывается соединение и заново?
Последний раз редактировалось МongBa†; 22.07.2009 в 02:44..
|
|
|

22.07.2009, 06:56
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Сообщение от FireFenix
Как продолжение размышлений о потоках:
Пишу программу под .NET... использую местами http запросы + regex ....
Какое оптимальное количество работающих потоков на .NET приложение? А то где-то вычитал, что оптимально 25*кол-во процессоров
хых))
некоторые факторы:
1. мощность процессора
2. колл-во ядер
3. ширина канала
4. оптимальность паттерна
5. загруженность ОС без твоего приложения
это навскидку... Как ты собрался считать оптимальное колличество потоков?
>>оптимально 25*кол-во процессоров
В чем различие процесса от потока? И вообще что такое процессор?????
ппц =\
Вы там че, курите, мурзилку читаете, надписи на заборе? жуть...
советую еще это взглянуть
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
Последний раз редактировалось W!z@rD; 22.07.2009 в 07:00..
|
|
|

22.07.2009, 10:21
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Вы там че, курите, мурзилку читаете, надписи на заборе? жуть...
Ах нуда, нынче кучу мануалов по оптимизации потоковых приложений =)
И вообще что такое процессор?????
эта такая чтучка в которой много ног и транзисторов ^_^
А то где-то вычитал, что оптимально 25*кол-во процессоров
это относилось к 25*[кол-во (процессоров || ядер)]
Естественно предел памяти и системного времени никто отменял!
Последний раз редактировалось FireFenix; 22.07.2009 в 10:31..
|
|
|

22.07.2009, 10:59
|
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от Chrome~
Не понимаю, с чем это связано, но такая программа при 10 потоках на моем компе 3,41 ГГц очень начинает подвисать система.
Какая ОС ? Если XP, то в ней ограничение на максимальное число конектов - 10.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|