Microsoft Concurrency и Coordination Runtime буквально сохранили проект, который сталкивался с серьезными проблемами с блокировкой. С тех пор я нахожу, что я использую его все чаще и чаще для всего, что требует асинхронного кодирования, дающего результаты, которые работают легче и быстрее, чем раньше. Я могу честно заявить, что он изменил мой подход к многопоточному/многоядерному разработчику. Несмотря на мою личную любовь к CCR, в Интернете, по-видимому, очень мало шума, и было интересно, может ли кто-нибудь предложить какие-либо причины для этого. Есть ли лучшие альтернативы, или это отсутствие продвижения по службе от MS, или люди просто довольны существующими инструментами?
Является ли Microsoft CCR любой тягой?
Ответ 1
Лицензирование вокруг него немного больно от того, что я помню.
Я думаю, что большинство людей ждут параллельных расширений в .NET 4.0. Я знаю, что это не совсем то же самое, но это все еще намного лучше, чем в настоящее время в рамках - и хотя продолжения не работают одинаково, по крайней мере, они есть:)
Я подозреваю, что Parallel Extensions имеет больше работы над ним, чем CCR, хотя я уверен, что работа CCR также вдохновила на разработку дизайна PFX.
Ответ 2
Я бы предположил, что TPL Dataflow, который будет выпущен как часть .Net 4.5, в конечном итоге заменит CCR, Большинство концепций в CCR имеют аналог в Dataflow, хотя это не обязательно простое упражнение по переносу.
Тем не менее, Robotics Studio Developer 4 Beta 2, выпущен в ноябре 2011 года, включает версию CCR для Silverlight 4.
Ответ 3
У меня тоже есть личная любовь к CCR... Я, конечно, не видел ничего подобного в .NET или где-либо еще. Я думаю, что это слишком плохо, что я думаю, что Джон прав, и это, скорее всего, будет отнесено к нише энтузиастов, таких как мы, в то время как большая часть многопоточности .NET будет, вероятно, выполнена с помощью параллельных расширений.
Я особенно разочарован этим прогнозом, потому что я думаю, что для его продвижения можно сделать еще больше - скажем, возможно, подгонять его в надежную инфраструктуру типа асинхронного сообщения на уровне предприятия, которая, как мне кажется, не имеет согласованной истории в .NET. Кроме того, если посмотреть на сайт Microsoft CCR/DSS, я бы, вероятно, никогда бы не подумал попробовать... Я не понимаю, почему это был упакован таким образом - за исключением того факта, что несколько компаний вырвали его из инструментария Robotics и просто побежали с ним, прежде чем MS подумала, что у него есть цель за пределами робототехники.
В любом случае, вы не одиноки... и есть много других энтузиастов CCR. Здесь аккуратный проект CodePlex на основе потока, который обертывает CCR в интересной парадигме потока.
Ответ 4
Мне до сих пор нравится использование CCR в двух крупных проектах. Первый из них ужасен (на самом деле не получил идею модели Causality), а вторая - блестяще (веб-искатель)
Оба проекта используют парадигму, основанную на сообщениях, чтобы избежать ожидания медленных операций ввода-вывода. CCR неплохо работать, как только вы решите отсутствие совместимого ORM-картографа. (Я рассматриваю возможность выпуска некоторых из сантехники, которые я написал, чтобы спасти других людей от сердечной боли)
Сказав это, RX выглядит довольно интересно. Мне любопытно, как он сравнивается с точки зрения обработки ошибок, скорости и надежности.
Ответ 5
Microsoft Robotics Studio 2008 R3 теперь доступна и теперь бесплатна для всех пользователей.