Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Chương trình C# hiển thị tên luồng hiện tại (Current Thread Name)

Mỗi luồng có thuộc tính Name (string) để gán nhãn, hữu ích khi debug (xem trong Visual Studio Threads window).

Mã nguồn

using System;
using System.Threading;

namespace Demo {
    class MyClass {
        static void Main(string[] args) {
            Thread thread = Thread.CurrentThread;
            thread.Name = "My Thread"; // Gán tên
            
            Console.WriteLine("Tên luồng = {0}", thread.Name);
            Console.ReadKey();
        }
    }
}

Kết quả

Tên luồng = My Thread

Đặt tên khi tạo luồng mới

var thread = new Thread(() => {
    Console.WriteLine("Running in: " + Thread.CurrentThread.Name);
}) {
    Name = "Worker-1" // Gán tên qua object initializer
};
thread.Start();

Lưu ý

  • Thread.CurrentThread.Name mặc định là null.
  • Chỉ gán tên một lần — gán lại sẽ ném InvalidOperationException.
  • Tên luồng hiển thị trong: Visual Studio Debug > Windows > Threads, Profiler, log tracing.
  • Khuyến nghị: đặt tên có ý nghĩa ("DB-Worker", "UI-Renderer", "HttpClient-Pool") để dễ debug đa luồng.
  • Với Task, dùng Task.Run(() => ..., "TaskName") (.NET 6+) hoặc gán Task.CurrentId.