Skip to main content

Multithreading C# : Part 02

Using a Background threads

Foreground thread :
You can use foreground threads to keep the application alive. When non of foreground threads are running, CLR (common language runtime) will shut down your application.  Background threads are then terminated.









using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
 
namespace Multithreading
{
    public static class BackgroundThread
    {
        // Using a background thread 
 
        //Thread method
        public static void ExampleThreadMethod()
        {
            for (int x = 0; x < 10; x++)
            {
                Console.WriteLine("ExampleThreadMethod: {0}", x);
 
                //Thread.Sleep(1000)? 
                //Sleep one second
                Thread.Sleep(1000);
            }
        }
 
        //Main method
        public static void Main(string[] args)
        {
            Thread thread = new Thread(new ThreadStart(ExampleThreadMethod));
            //Define thread is as background thread
            thread.IsBackground = true;
            thread.Start();
 
        }
    }
}
if you run this application you will see that the application exists immediately. That is because we define the new thread as "Background thread". Output will be nothing visual.
//Define thread is as Background thread
thread.IsBackground = true;
 
But if we define the "thread" method as foreground thread then it will make application alive and you can have a visual output. 
//Define thread is as Foreground thread
thread.IsBackground = false;
 
Output will be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Debug and see how program executes , You will understand why I did make it sleep the thread every second.
 
Thank You :)

Comments

Popular posts from this blog

Multithreading C# : Part 01

Multithreading with C# Think about old days, you have one central processing unit (CPU) in your pc which is capable of executing one operation at a time. If we have 5 operations to run then we have to wait till one operation is completed and then only other one can start. What will happen if the running operation has a bug and got stuck, then whole computer going to be freeze and useless unless we restart it. This is a huge problem. So if we can run multiple operation in the same time that would be great because it will solve this problem.

SQLite Database for Windows 8 App : Adding existing SQLite DB file

Hi Guys ... This Post is about adding an existing SQLite database file to the Windows Metro App project. As I think "using SQLite" is the best way to create local database for Windows Rt applications.Actually SQLite is very easy to learn but I really think if Microsoft SQL Server CE supports windows rt applications it will more fun. .Isnt it ?. :)

Load an Addin into DraftSight

These days i am developing two plugins for Autocad 2012 &  DraftSight 2013.so when i was developing the plugin i got in to big trouble.Normally in the Autocad , we can load the .dll file simply typing the command "NETLOAD" but in the Draftsight i could not able to do that. It said  " D:\c \projects\c projects\DSAddinCSharp1\ DSAddinCSharp1\bin\Debug\ DSAddinCSharp1.dll is not a valid add-in "