Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để tạo ra một chủ đề bằng cách sử dụng Visual C#

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:815804
Đối với một Microsoft Visual Basic.NET Phiên bản này viết, xem 315577.


Bài viết này đề cập đến các Theo Microsoft.Không gian tên thư viện lớp của NET Framework:
  • System.Threading


TRONG TÁC VỤ NÀY

TÓM TẮT
Bạn có thể viết multithreaded ứng dụng trong Microsoft Visual C#.NET hay trong Microsoft Visual C#. Bài viết này mô tả làm thế nào một đơn giản Visual C# đơn có thể tạo và quản lý chủ đề.

Quay lại đầu trang

Yêu cầu

Danh sách sau vạch ra được đề nghị phần cứng, phần mềm, hạ tầng mạng, và gói dịch vụ mà bạn cần:
  • Microsoft Windows 2000, Microsoft Windows XP hoặc Microsoft Windows Server 2003
  • Microsoft Visual C#.NET hoặc Microsoft Visual C# 2005
Bài viết này giả định rằng bạn đã quen thuộc với sau các chủ đề:
  • Visual C# lập trình
  • Visual Studio.LƯỚI môi trường phát triển tích hợp (IDE) hoặc Visual Studio 2005 IDE
Quay lại các đầu trang

Tạo ứng dụng Visual C# với chủ đề

  1. Bắt đầu Microsoft Visual Studio.NET, Microsoft Visual Studio 2005 hoặc Microsoft Visual C# 2005 Express Edition.
  2. Tạo một dự án mới Visual C# Windows ứng dụng đặt tên ThreadWinApp.
  3. Thêm một Nút kiểm soát mẫu. Bởi mặc định, các nút được đặt tên theo Button1.
  4. Thêm một ProgressBar thành phần mẫu. Theo mặc định, thanh tiến độ được đặt tên theo ProgressBar1.
  5. Nhấp chuột phải vào biểu mẫu và bấm Xem Mã.
  6. Thêm các tuyên bố sau vào đầu của tập tin:
    using System.Threading;
  7. Thêm dưới đây Nhấp vào xử lý sự kiện choButton1:
    private void button1_Click(object sender, System.EventArgs e){	MessageBox.Show("This is the main thread");}
  8. Thêm biến sau đây để các Form1 lớp:
    private Thread trd;
  9. Thêm các phương pháp sau đây để các Form1 lớp:
    private void ThreadTask(){	int stp;	int newval;	Random rnd=new Random();	while(true)	{		stp=this.progressBar1.Step*rnd.Next(-1,2);		newval = this.progressBar1.Value + stp;		if (newval > this.progressBar1.Maximum)			newval = this.progressBar1.Maximum;		else if (newval < this.progressBar1.Minimum)			newval = this.progressBar1.Minimum;				this.progressBar1.Value = newval;		Thread.Sleep(100);	}}
    Chú ý Đây là mã rằng nền tảng chủ đề. Mã này là một vô hạn lặp đó ngẫu nhiên số gia hay decrements giá trị trongProgressBar1, và sau đó chờ đợi 100 mili giây trước khi nó tiếp tục.
  10. Thêm dưới đây Tải xử lý sự kiện cho Form1. Mã này tạo ra một mới chủ đề, làm cho sợi chỉ một chủ đề nền, và sau đó bắt đầu thread.
    private void Form1_Load(object sender, System.EventArgs e){	Thread trd = new Thread(new ThreadStart(this.ThreadTask));	trd.IsBackground = true;	trd.Start();}
Quay lại các đầu trang

Xác minh rằng nó hoạt động

  1. Xây dựng và chạy các ứng dụng. Nhận thấy rằng các giá trị trongProgressBar1 thay đổi ngẫu nhiên. Đây là chủ đề mới trong thao tác.
  2. Để chứng minh rằng chủ đề chính là độc lập với các chủ đề thay đổi giá trị của ProgressBar1, bấm vào các nút trên biểu mẫu. Bạn nhận được một hộp thoại với thông báo lỗi sau:
    This is the main thread
Chờ đợi cho đầu vào. Nhận thấy rằng các giá trị trong ProgressBar1 tiếp tục thay đổi.

Quay lại đầu trang

Gỡ rối

Trong các ứng dụng phức tạp hơn, hãy chắc chắn rằng bạn đồng bộ hóa nhiều chủ đề khi bạn truy cập vào các biến được chia sẻ. Để biết thêm chi tiết, xem các khóa tuyên bố và các chủ đề có liên quan trong các Visual C#.NET Tài liệu trợ giúp trực tuyến.

Quay lại các đầu trang
THAM KHẢO
Để biết thêm chi tiết, ghé thăm Web site sau của Microsoft hoặc các.NET Framework SDK tài liệu:

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 815804 - Xem lại Lần cuối: 09/23/2011 03:09:00 - Bản sửa đổi: 3.0

Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# 2005 Express Edition

  • kbnamespace kbthreadsync kbthread kbhowtomaster kbmt KB815804 KbMtvi
Phản hồi