Thread - Cách lập trình da tiến trình trong c# - Phần 1

Tuesday, November 25, 2014
Thread trong c# cho phép chúng ta thực hiện nhiều tiến trình giúp các tiến trình chúng ta thực hiện cùng lúc với nhau một cách liên tục chứ không phải chờ đợi các tác vụ thực thi
Thread - Cách lập trình da tiến trình trong c# - Phần 1
Thread - Cách lập trình da tiến trình trong c# - Phần 1

 

Thread trong c# là gì ?

Bạn không nên nhầm lẫn giữa process (tiến trình) và thread (tiểu trình). Process có thể hiểu là một instance của chương trình máy tính được thực thi, dựa trên hệ điều hành, hoàn toàn độc lập với các tiến trình khác. Còn thread là một nhóm lệnh được tạo ra để thực thi một tác vụ trong một process, chúng chia sẻ chung dữ liệu với nhau để xử lý, điều này là cần thiết nhưng cũng là nguyên nhân dễ gây ra lỗi nếu bạn không xử lý đúng cách.

Cách sử dụng Thread như thế nào?

Đầu tiên hãy khai báo thư viện cho nó
using System.Threading;

Các phương thức cơ bản trong Thread

A.bort() ; // Hủy bỏ một thread
Resume(); // đánh thức thread;
sleep();// ngủ có thời hạn ( thơi gian được tính  mili giây ) 1000 = 1s
Start();// Bắt đầu thực thi 1 thread
Suspend(); Đưa thread vào trang thái ngủ vô thời hạn, khi nào gọi nó mới thức =))
Join(); Dừng một thread không cho nó hoạt động.

Một số thuộc tính của Thread

+ CurrentThread: Trả về thread hiện hành đang chạy
+ IsAlive: Trả về giá trị cho biết trạng thái thực thi của thread hiện hành
+ Priority: Chỉ định độ ưu tiên cho một thread
+Threadstate: Lấy về trạng thái của thread( thread đang chạy hoặc đang dừng)

Các hàm cơ bản trong Thread

Hãy mở Visual Studio và chọn Console application và chạy thử đoạn code sau:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Bai1
{
    class Program
    {
        static void inA()
        {
            for (int i = 1; i <= 100; i++)
            {
              
                Console.Write("A");
            }    
        }
        static void inB()
        {
           
            for (int i = 0; i < 100; i++)
            {
              
                Console.Write("B");
            }
        }
        static void display()
        {
            for (int i = 0; i <= 100; i++)
            {
                Console.Write(Thread.CurrentThread.Name);
            }
        }
        static void Main(string[] args)
        {
            ThreadStart goids = new ThreadStart(display);    
            Thread A = new Thread(goids);
            Thread B = new Thread(goids);
            Thread C = new Thread(goids);
            A.Name = "A";
            A.Start();
            B.Name = "B";
            B.Start();
            C.Name = "C";
            C.Start();
            Console.Read();     
        }
    }
}
Chúc các bạn thành công : Đôn Bá Đạo

No comments:

Post a Comment