本文介绍了使用从kernel32.dll导入的SetThreadAffinityMask函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用我的C#代码从kernel32.dll导入的SetThreadAffinityMask函数设置线程亲和力.

I am trying to set thread affinity using SetThreadAffinityMask function imported from kernel32.dll in C# code of mine.

这是我的导入方式:

[DllImport("kernel32.dll")]  
static extern IntPtr SetThreadAffinityMask(IntPtr hThread, IntPtr dwThreadAffinityMask);

我正在创建3个线程

Thread t1 = new Thread(some delegate);
Thread t2 = new Thread(some delegate);
Thread t3 = new Thread(some delegate);

我希望为t1,t2和t3设置线程亲和性,为此我正在使用`SetThreadAffinityMask函数.

I wish to set thread affinity for t1, t2 an t3 for which I am using `SetThreadAffinityMask function.

但是我不知道如何将参数传递给该函数.

But I am not getting how to pass parameters to this function.

SetThreadAffinityMask带有两个参数

  1. HANDLE hThread
  2. DWORD_PTR dwThreadAffinityMask
  1. HANDLE hThread
  2. DWORD_PTR dwThreadAffinityMask

请帮助我在C#中使用SetThreadAffinityMask函数.

Please help me in using SetThreadAffinityMask function in C#.

推荐答案

不能使用 Thread.BeginThreadAffinity ?

这篇关于使用从kernel32.dll导入的SetThreadAffinityMask函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 09:10