.Net Как создать собственный поток ThreadPool, общий для всех доменов приложения процесса?

Я сделал собственный ThreadPool, оптимизированный для моих конкретных потребностей. Тем не менее, когда в процессе есть несколько доменов приложений, CLR ThreadPool может быть общим для всех доменов приложений, и я хотел бы иметь возможность воспроизвести это поведение.

Это можно сделать с помощью MarshalByRefObject и Remoting для создания распределенного ThreadPool, но я боюсь, что это добавит нежелательные накладные расходы, поскольку ключевой целью пользовательского пула потоков является производительность.

Другим теоретическим решением было бы взломать границу памяти AppDomain с помощью неуправляемого объекта. Если я'Насколько я понимаю, граница памяти в AppDomain применяется только к управляемым объектам, поэтому в каждом AppDomain может быть одна управляемая оболочка, указывающая на один и тот же неуправляемый объект.

Итак, мои вопросы:

Есть ли способ создать пользовательский пул потоков, используя удаленное взаимодействие с минимальными издержками?Если нет, возможно ли разделить неуправляемый объект через AppDomain?

Ответы на вопрос(2)

Ваш ответ на вопрос