アップデート:私は問題を発見した - 、それは間違っているスレッドではなく、メイン1(プログラムの起動は厄介です...)SetThreadAffinityMaskは無視されます....任意のアイデアですか?
それはすべての今働いている中SetThreadAffinityを()を呼び出すしたまごつい/皮肉にも十分にすべてに感謝手伝い!私は私の小さなデバッグセッションに参加するためにアップしてくれました。
アップデート:私は問題を発見した - 、それは間違っているスレッドではなく、メイン1(プログラムの起動は厄介です...)SetThreadAffinityMaskは無視されます....任意のアイデアですか?
それはすべての今働いている中SetThreadAffinityを()を呼び出すしたまごつい/皮肉にも十分にすべてに感謝手伝い!私は私の小さなデバッグセッションに参加するためにアップしてくれました。
任意の違いを確認、このようにそれを呼び出すん?:
DWORD_PTR mask = 1;
SetThreadAffinityMask(GetCurrentThread(), mask);
は、あなたのスレッドハンドルを必要access rightsを持っている:?
Windows Server 2003およびWindows XP/2000 :ハンドルには THREAD_SET_INFORMATIONと THREAD_QUERY_INFORMATIONアクセス権が必要です。
私には権利がないとエラーが返ってくると思います。それ以外に、SetProcessAffinityMask()は完全に動作します... –
私はそれらを使用してから数ヶ月が経ちましたが、私はその機能に問題はありませんでした。ここで
はあなたがチェックしたい場合がありますいくつかのものです:
GetCurrentProcessorNumber()はWindows XPでは使用できません... –
その後、Vistaで試してみることをお勧めします。 – Unknown
あなたのしていることは正しいようですが、代わりに SetThreadIdealProcessorを試してみることができますか?
SetThreadIdealProcessor()はまったく同じ結果を返します。 –
スレッド数はいくつですか?いくつのプロセッサーですか?あなたはいくつかのスレッド、またはただ1つの親和性を設定していますか? –
私は2つのCPUを持っています、私は1つのスレッドの親和性を設定しています。他のスレッドは現時点では実行されていません。 –
元の質問を消去しないでください。人々は同じ問題を抱えているかもしれません。 – Thomas