আমি আমার প্রোগ্রামটিতে পাইথন ২.6 এ নিম্নলিখিত ফাংশনটি রেখেছি এবং এটি উইন্ডোজ ফাংশনগুলিকে কল করে। আমার মেশিনটিতে মাত্র দুটি কোর রয়েছে যাতে আপনার সেই অংশটি পরিবর্তন করতে হতে পারে। মন্তব্যগুলি আপনাকে বোঝায় যে কীভাবে বর্তমান স্নেহ হয়। আপনি যদি 1 এর মুখোশ সেট করেন বা ডিফল্ট হন তবে এটি একটি সিঙ্গল কোর মেশিনের জন্য "যেমন রয়েছে" কাজ করে।
def setaffinitymask(pid = None, mask = 1):
""" Set The Affinity Mask of a Windows Process. Affinity Mask is a value between 1-3 where
1 is for core 0, 2 is for core 1, 3 is for both cores (it is a bitmap)
Default sets the Affinity Mask to core 0 only
python process can take any valid process ID. """
import win32api, win32process, win32con
if pid == None:
pid = win32api.GetCurrentProcessId()
if mask == None:
mask = 1
if mask < 1 or mask > 3:
mask = 1
print 'process affinity mask out of range [1..3] setting it to 1'
handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, True, pid)
# see what mask is currently set to
# processAffinityMask, systemAffinityMask = win32process.GetProcessAffinityMask(handle)
# print 'process affinity mask = ', processAffinityMask, ', system affinity mask = ', systemAffinityMask
# set affinity for process to mask value
win32process.SetProcessAffinityMask(handle, mask) # 1=core 0, 2=core 1, 3=both
processAffinityMask, systemAffinityMask = win32process.GetProcessAffinityMask(handle)
#print 'process affinity mask = ', processAffinityMask, ', system affinity mask = ', systemAffinityMask