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 893665
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T14:15:29+00:00 2026-05-15T14:15:29+00:00

Specification C# Distributed Application. Client/Server design. Client (Winforms), Server (Windows Service), Communication via .Net

  • 0

Specification

  • C# Distributed Application.
  • Client/Server design.
  • Client (Winforms), Server (Windows Service), Communication via .Net Remoting.
  • The below question relates to the Server-Side of the application.
  • (EDIT) The Server-side of the application runs on a server with 8 Cores and 12Gb Ram
  • (EDIT) The CPU of this server is always hitting around 80% Usage due to lots of other services being run on this same server.

Scenario

  • I’ve inheritted a large legacy application.
  • It carries out a bunch of tasks, some of them independently, but others not.
  • The current design for this application involves the creation of 14 threads, each running either 1 task or a number of tasks.
  • The problem is that I get the feeling this design element has an impact on performance.

Code Examples – How Each Class/Thread Is Designed & Run

public class ManageThreads
{
    private Thread doStuffThread = null;

    //Inside the constructor EVERY thread is instantiated and run.
    //(I am aware that this example only shows the use of 1 thread).
    public ManageThreads()
    {
       doStuffThread = new Thread(new ThreadStart(DoSomeStuff.Instance.Start));
       doStuffThread.Start();

       //Instantiate and run another thread.....
       //Instantiate and run another thread.....
       //Instantiate and run another thread.....etc.
    }

}

public class DoSomeStuff
{
    void Start()
    { 
        while(true)
        {
          //Repeatedly do some tasks.....

          Thread.Sleep(5000);
        }
     }   
 }

Thoughts

  • What I’d like to do is keep the existing code, but modify the way that it runs.
  • I’ve thought about the use of a Thread Pool to solve this problem, but given the current architecture I am unsure of how I would go about doing this.

Questions

  • Would this current design affect performance in a noticeable way?
  • Is it possible for me to improve the performance of this application without altering the underlying functions, but changing the design slightly?
  • Can anyone recommend anything / advise me on the right way to go about improving this?

Help greatly appreciated.

  • 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-15T14:15:29+00:00Added an answer on May 15, 2026 at 2:15 pm

    “I get the feeling this design element has an impact on performance.”

    Don’t guess, get a profiler out and measure what’s going on. Gather some empirical stats about where time is spent in the application and then you can take a view on where the pinch points are.

    If the time spent creating threads is your biggest headache then moving to a threadpool may be the right answer, but you won’t know without some forensic analysis.

    From the small snippet you’ve posted it looks like the 14 threads are reasonably long-lived, doing multiple things over their lifetime so I suspect that this is not the problem actually, but there isn’t enough info in your post to make a definitive call on this.

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

Sidebar

Related Questions

I'm working on a server side solution for a mobile application written in Ruby.
I am designing a distributed application that will consist of RESTful services and a
I'm designing a distributed application that will consist of a variety of REST services.
I'm trying to find a suitable protocol middleware for my next distributed application. I've
Complete specification: I want to to this, this, and this Infinite iterations: 1. Design
Per JAXB specification http://jaxb.java.net/2.2.4/docs/xjc.html if you want to run the JAXB-XJC compiler, one of
The OSGi enterprise specification defines two ways of tracking: by service or by bundle.
If I have a specification defined as an Expression as below: public Expression<Func<Foo, bool>>
When the specification and the agreed behavior of the application operates without fault, however
Based on Java Servlet Specification Version 3.0 : In the Web application deployment descriptor,

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.