Задачи на многопоточное программирование в .NET?

Здравствуйте!


На последнем собеседовании при приёме на работу выяснил, что у меня очень большие проблемы с многопоточным программированием. Как-то так сложилось, что мне на всех проектах удавалось писать однопоточный код, который успешно справлялся с задачей за приемлемое время. В общем, не требовалась «многопоточка».


Подскажите, пожалуйста, источник задач на многопоточное программирование. Важно, чтобы они были «заточены» под .NET. А то я нашел тут вполне неплохие задачи, но мне показалось, что некоторые в .NET будут не совсем правдоподобными и решаться будут слишком криво (допускаю, что я глубоко заблуждаюсь).


И ещё побочный вопрос. Мне советовали для освоения многопоточности реализовать игровой сервер. Хорошая ли это идея?


Спасибо!
  • Вопрос задан
  • 5920 просмотров
Решения вопроса 1
@korvindest
Игровой сервер это слишком круто, попробуйте начать с реализации чата с сервером, клиентом и одной общей комнатой, без всяких приватов.
Эта задача позволит столкнуться со многими проблемами многопоточности, но при этом ясна, понятна и проста.
Кроме этого я бы рекомендовал почитать различные статьи на тему потокобезопастного создания объектов (в основном singleton), методы борьбы с deadlock, ну и про различные методы синхронизации потоков (синхронизация метода/блока, симафор).

Я сам больше пишу на Java, но думаю что тут не должно быть разночтений.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AigizK
Вот тут есть хорошая статья по многопоточности в .NET
www.rsdn.ru/article/dotnet/CSThreading1.xml
www.rsdn.ru/article/dotnet/CSThreading2.xml
www.rsdn.ru/article/dotnet/Threading_In_C_Sharp_Part_3.xml
Почитай их для начала. А насчет задач, не обязательно писать клиент-серверное приложение. Можно в тех же задачах, которых ты решал в одном потоке, применить многопоточность.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы