Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9126785
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 17, 20262026-06-17T07:07:29+00:00 2026-06-17T07:07:29+00:00

If I set my processor affinity for my process like so: var me =

  • 0

If I set my processor affinity for my process like so:

var me = Process.GetCurrentProcess();
me.ProcessorAffinity = (IntPtr) processorAffinityMask;

…, will the TPL honor that for all of its work? That is, are there any got-ya’s with the default scheduler that would push work to a processor not allowed by my given mask? Is there a test that will prove this?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-17T07:07:30+00:00Added an answer on June 17, 2026 at 7:07 am

    Yes the TPL will honor the affinity mask that you specify.

    The only way it could not honor it is to explicitly go and change the affinity, and it does not do that.

    While it would be highly unfeasible to create a test that would exercise every possible code path in TPL, you can certainly setup a test that would benefit from many available cores, set the affinity mask to 1 CPU, and observe through Task Manager that the affinity never changes and CPU utilization is never more than 1/N where N is the # of cores present.

    You could also expand that test to have an affinity of M cores, and observe that CPU utilization <= M/N. You can also directly observe that the affinity does not change in Task Manager.

    A suitable test would be one that requires significant time per iteration and offers many independent units of work, e.g. calculate the first prime > N where N is large and use Parallel.Foreach on an array of target primes. The array size should be significantly greater than the number of cores present.

    On a side note, it is seldom a good idea to explicitly set the CPU affinity. Curious what your use case is.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to set the processor affinity on a process on a machine that
This question is for experiences programmers. Do you have a set process that you
I am using log4net and would like to set up a process to notify
I have a set of .csv files that I want to process. It would
i like to set timer for calculating execution time in c# for particular process
In Windows, I can set the processor affinity of driver code using KeSetSystemAffinityThread, and
How can the CPU affinity of a process be set in kernel module? In
In .NET processor affinity and priority class for all threads and child processes can
Is there a programmatic method to set CPU affinity for a process in c/c++
On a dual quad-core GetProcessAffinityMask (or the dialog from Set affinity in taskman.exe) will

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.