состояние параллелизма в MS C # и Mono - PullRequest
1 голос
/ 05 апреля 2011

для проекта, над которым я работаю, мне нужно работать с потоками. Мне было интересно: каково состояние параллелизма в MS C# и, в частности, Mono по сравнению, например, с OpenMP и pthreads? Насколько я могу контролировать потоки в C #? Что я не смогу сделать? Например, я могу синхронизироваться явно? Могу ли я работать напрямую с мьютексами? Могу ли я сделать условное ожидание? Благодарю.

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

У вас будет практически весь контроль над потоками

.NET Framework содержит практически все (monitor, manualresetevent, autoresetevent, sempaphore, readerwriterlock и т. Д.) Примитивы. Для удовлетворения особых потребностей вы всегда можете использовать P / Invoke (хотя для переносимости вам понадобится несколько реализаций)

Mono имеет реализацию PLINQ (идет вперед)

См. Сообщение в блоге Мигеля де Иказы на C # 3.0 и Parallel FX / LINQ в Mono . должно быть , in Mono 2.8

Так что да, да, да и да:)

0 голосов
/ 05 апреля 2011

В моно вы можете обращаться со своей многопоточной программой точно так же, как и в .Net, совместимость управляемого кода во время выполнения - главная цель моно проекта.

...