カスタム タスク スケジューラを作成しています。Mono (Linux で実行) で現在のスレッドのプロセッサ アフィニティを設定する方法があるかどうかを知りたいです。
Windows で実行されている .NET ランタイムについては、Lenard Gunda の「選択したプロセッサ コアで .NET スレッドを実行する」という記事に従って、これを機能させることができました。ただし、彼のアプローチは Mono (および Linux) では次の理由で失敗します。
- ライブラリ
GetCurrentThreadId
での P/Invoke 呼び出しが必要です。Kernel32.dll
- この
Process.Threads
プロパティは現在、Mono で空のコレクションを返します。
誰でもこれに対する回避策を教えてください。