October 2009
M T W T F S S
    Nov »
 1234
567891011
12131415161718
19202122232425
262728293031  

Archives

Categories

  • [+]ASP.NET (7) 
  • [—]C# (87) 
  • [+]C++ (13) 
  • [+]Delphi (20) 
  • [+]JavaScript (24) 
  • [+]Regular Expressions (7) 
  • [+]SQL (13) 
  • [+]VB (100) 
  • [+]VB.NET (4) 

Online

Users: 12 Guests
  • Loading...


    Loading...

    Login






    Register | Lost password?

    Register





    A password will be mailed to you.
    Log in | Lost password?

    Retrieve password





    A confirmation mail will be sent to your e-mail address.
    Log in | Register
  • “Extend” the thread class in C#

    Author: Charlie Parker

    URL: http://snippets.dzone.com/posts/show/4230

    // just inherit from the EasyThread class and override the PerformWork method
    
    public class EasyThread: IDisposable
    {
       Thread WorkerThread;
    
       public EasyThread()
       {
          if (WorkerThread == null)
              WorkerThread = new Thread(new ThreadStart(PerformWork));
       }
    
       public void Run()
       {
              if (WorkerThread.IsAlive == false)
                  WorkerThread.Start();
    
              if (WorkerThread.ThreadState == ThreadState.Suspended)
                  WorkerThread.Resume();
       }
    
       /// <summary>
       /// EasyThread provides a facade to inheriting from a Thread class.
       /// Override the perform work method to perform your tasks.
       /// </summary>
       protected virtual void PerformWork()
       {
    
       }
    
       public void Pause()
       {
              WorkerThread.Suspend();
       }
    
       public void Quit()
       {
              Cleanup();
       }
    
       private void Cleanup()
       {
               WorkerThread.Join(0);
               WorkerThread = null;
       }
    
       public void Dispose()
       {
              Cleanup();
       }
    }
    

    Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • Digg
    • del.icio.us
    • Bloglines
    • Facebook
    • Google Bookmarks
    • LinkedIn
    • Technorati
    • TwitThis
    • Webnews

    1 comment to “Extend” the thread class in C#

    Leave a Reply

     

     

     

    You can use these HTML tags

    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">

    Spam Protection by WP-SpamFree Plugin