Re[9]: Как оптимизировать выполнения 10000 параллельных зада
От: Sharov Россия  
Дата: 05.08.16 17:11
Оценка:
Здравствуйте, LWhisper, Вы писали:

S>>Что призван продемонстрировать этот код? Зачем в lock Console.Readline()?

S>>С чего это вдруг? Есть такое понятие как логическая блокировка -- задача висит до выполнения условия, а поток возвращается в пул.
LW>Просто вечная блокировка.
LW>Скриншот выше демонстрирует обратное. Поток не возвращается в пул, а висит в ожидании блокировки. Было запущено 30 задач — 30 потоков из пула сели на lock и остались в таком состяонии. Вершины стеков в нижней части скриншота.

Очевидно, что рукотворная вечная блокировка потоки в пул не вернет. Асинхронное IO потоки возвращает, ибо блокировка логическая. Т.е. 10000 соединений проблемой не должны быть.
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.