我的C#应用程序使用的本机代码不是线程安全的.
我可以运行该本机代码的多个进程,使用进程间通信来实现并发.
我的问题是,我是否可以使用App Domains,以便多个托管线程(每个托管在不同的应用域上)将调用本机代码并且它们不会相互干扰?
主要目标是防止过程分离.
我有自己的实现TaskScheduler
.它存在的主要原因是它将处理器核心亲和力设置为运行我的任务的线程.
当我以下列方式使用它时:
var myTaskSceduler = new MyTaskScheduler(4);
var taskFactory = new TaskFactory(myTaskSceduler);
taskFactory.StartNew(DoSomething);
Run Code Online (Sandbox Code Playgroud)
亲和力工作正常,任务将只在指定的核心上运行.
我怎样才能改变Task.Factory
,Task.Factory.Scheduler
因此我的调度程序将成为默认调度程序
Task.Factory.StartNew()
Run Code Online (Sandbox Code Playgroud)
被叫?