কম্পিউটার টিউটোরিয়াল

C#-এ মাল্টিথ্রেডিং কী?

C#-এ System.Threading.Thread ক্লাস থ্রেড নিয়ে কাজ করতে ব্যবহৃত হয়। এটি একটি মাল্টিথ্রেডেড অ্যাপ্লিকেশনে ইনডিভিজুয়াল থ্রেড তৈরি এবং এক্সেস করার অনুমতি দেয়। একটি প্রসেসে এক্সিকিউট হওয়া প্রথম থ্রেডকে মেইন থ্রেড বলে।

যখন একটি C# প্রোগ্রাম এক্সিকিউশন শুরু করে, মেইন থ্রেড অটোমেটিক্যালি তৈরি হয়। Thread ক্লাস ব্যবহার করে তৈরি করা থ্রেডগুলোকে মেইন থ্রেডের চাইল্ড থ্রেড বলা হয়।

C#-এ থ্রেড তৈরি করার উদাহরণ নিচে দেওয়া হলো:

using System;
using System.Threading;
namespace Demo {
    class Program {
        static void Main(string[] args) {
            Thread th = Thread.CurrentThread;
            th.Name = "MainThread";
            Console.WriteLine("This is {0}", th.Name);
            Console.ReadKey();
        }
    }
}

C#-এ থ্রেড ম্যানেজ করার আরেকটি উদাহরণ:

উদাহরণ

using System;
using System.Threading;
namespace MultithreadingApplication {
    class ThreadCreationProgram {
        public static void CallToChildThread() {
            Console.WriteLine("Child thread starts");
            // থ্রেড ৫০০০ মিলিসেকেন্ড পোজ রাখা হয়েছে
            int sleepfor = 5000;
            Console.WriteLine("Child Thread Paused for {0} seconds", sleepfor / 1000);
            Thread.Sleep(sleepfor);
            Console.WriteLine("Child thread resumes");
        }
        static void Main(string[] args) {
            ThreadStart childref = new ThreadStart(CallToChildThread);
            Console.WriteLine("In Main: Creating the Child thread");
            Thread childThread = new Thread(childref);
            childThread.Start();
            Console.ReadKey();
        }
    }
}

আউটপুট

In Main: Creating the Child thread
Child thread starts
Child Thread Paused for 5 seconds
Child thread resumes
  1. C# ASP.NET MVC-এ ChildActionOnly অ্যাট্রিবিউটের ব্যবহার

  2. জাভাতে SwingWorker ক্লাসের গুরুত্ব কী?

  3. জাভাতে SwingUtilities ক্লাসের গুরুত্ব কী?

  4. পাইথনে os.pipe() ফাংশনের কাজ কী?