> -- Илья Ермаков писал(а):
> На возражения "а многопоточность...", напоминаю, что мы у себя в "Метасистемах" приняли решение, что внутри одного объектного пространства, т.е. одного экземпляра ядра ББ, нескольких потоков у нас не будет никогда. Ввиду чего сразу перестали забивать себе мозги по каждому поводу "а что, если вот эта служба будет использоваться несколькими потоками...".И получили возможность использовать ряд  простых схем.
Можно это вынести в отдельную ветку и как следует обсудить.

Нахожу ваше решение излише строгим. Его можно смягчить.

Я вот в дотнете тоже к хозяйствованию в одном (логическом) объектном пространстве допускаю только один поток, но это не означает, что в одном экземпляре рантайма у меня существует всего одно (логическое) объектное пространство. У меня их несколько непересекающихся. Они взаимодействуют друг с другом с помощью очередей сообщений.

На тот случай, чтобы кто-то случайно не вызвал какую-то процедуру не в том потоке в каком надо у меня там стоят рантайм-проверки. Например, если какие-то процедуры должны исполняться только потоком класса BasicService, то в начале каждой из них стоит вызов очень маленькой процедурки (тактов на десять) BasicService.ThreadSafeInsurance()
## Код:
```
/// <summary>
/// Осуществляет проверку того, что текущий поток является главным потоком сервиса.
/// Если текущий поток оказался другой, то возбуждается System.Exception.
/// </summary>
public static void ThreadSafeInsurance ()
{
   int id = System.Threading.Thread.CurrentThread.ManagedThreadId;
   if (id != service_managed_thread_id)
   {
      throw new System.Exception("You must call this code only in main service thread context. Service thread id = "
         + service_managed_thread_id + ", current thread id = " + id + ".");
   }
}
```

В будущем планирую изобрести способ разбить большое "объектное пространство" на "дерево объектных пространств". В корне "дерева" будет работать один поток раскидывая сообщения по ветвям. Непересекающиеся "ветви объектного дерева" будут обслуживать несколько других потоков. Ветвей может быть очень много, потоков - сколько процессорных ядер + эпсилон.