C # Задачи без потоков и синхронизации - PullRequest
0 голосов
/ 28 декабря 2018

Я бы хотел ограничить Задачи и события моего приложения одним потоком, чтобы избежать синхронизации потоков.Как бы я это сделал и с какими возможными проблемами я мог бы столкнуться при этом?

Я делаю связанное с C # IO приложение, которое использует события и задачи TPL.В качестве мысленного эксперимента больше всего мне интересно, можно ли вообще избежать примитивов синхронизации, таких как блокировки и семафоры, просто используя один поток для всех моих задач.В конце я хотел бы получить что-то вроде Node.js, где пользовательский код выполняется в одном потоке, и поэтому пользователю не нужно беспокоиться о синхронизации.

Однако я понимаю, что эта модель не является родной для .NET ичто может быть много ловушек, я полагаю, особенно в отношении стороннего кода и событий.

Моей первой мыслью было бы ограничить пул потоков одним потоком, однако я беспокоюсь, что это нарушит некоторые собственные или сторонние функции..

...