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

  • SEARCH
  • Home
  • 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 6951237
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T14:11:38+00:00 2026-05-27T14:11:38+00:00

I have a WPF-application that uses several background threads for precompiling LINQ-queries and precaching

  • 0

I have a WPF-application that uses several background threads for precompiling LINQ-queries and precaching some values, that will be needed later. TPL is used to start these tasks by:

var newTask = new Task(taskAction, myCancelToken, TaskCreationOptions.LongRunning);
newTask.Start();

This works, the tasks are distributed over several cpu cores etc. However, these threads cause a high cpu load, that is perceptible in the UI, which tends to stumble or even freeze, as long as threads aren’t finished.

So, what could be a reasonable way to smoothen UI. By researching I found, that one’s not supposed to give threads special priorities. Others mean, frequent use of Thread.Sleep() was the way to go, which seems a bit outworn and hacky to me.

Are there additional ways I’m not aware of? Are there real disadvantages of priorizing threads (which isn’t possible via TPL directly, afaik)?

Thanks in advance!

  • 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-05-27T14:11:38+00:00Added an answer on May 27, 2026 at 2:11 pm

    10 threads is too many on say a 4-core machine. If they are compute-bound like pre-compiling queries, they will all be contesting for cpu time and will make the whole machine unresponsive.

    I suggest you use Environment.ProcessorCount to find out how many cores are available, and only start ( that number – 1 ) threads at a time. You can prioritise which work runs first and queue the others as continuations.

    This will leave a core free to service your UI thread and should make the app responsive again.

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

Sidebar

Related Questions

I have a WPF application that uses a TabControl. Each TabItem will contain a
I have a simple WPF application that uses ClickOnce to handle installing. Within this
I have an application that uses WPF Composite, and I have an issue. I've
I have a fairly large application that uses WPF for its user interface. I
I have a WPF application that will always run on windows 7, it opens
I have an WPF Full Tust explorer application that uses a COM assembly. In
I have a WPF application implemented using the MVVM framework that uses an ActiveX
I have a WPF application that uses a WCF services to perform operations on
I have a WPF application that uses a custom window frame. My problem is
I have a WPF windows application that uses the ms ribbon control for the

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.