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

Làm thế nào để gửi một mục công việc với hồ bơi 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:315460
Bài viết này đề cập đến Microsoft sau.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ài viết từng bước này cho bạn thấy làm thế nào để gửi một phương pháp để bơi sợi để thực hiện.

Trong các.NET môi trường, quá trình từng có một hồ bơi chủ đề mà bạn có thể sử dụng để chạy phương pháp không đồng bộ.

back to the top

Yêu cầu


Danh sách sau vạch ra được đề nghị phần cứng, phần mềm, cơ sở hạ tầng mạng và gói dịch vụ được yêu cầu:
  • Microsoft Visual Studio.NET hoặc Microsoft Visual Studio 2005
Bài viết này giả định rằng bạn đã quen thuộc với các chủ đề sau:
  • Các Visual C# ngôn ngữ lập trình
back to the top

Tạo một Visual C# Application có sử dụng hồ bơi Thread

  1. Bắt đầu Microsoft Visual Studio.NET hoặc Microsoft Visual Studio 2005.
  2. Tạo một dự án Visual C# Windows ứng dụng mới được đặt tên PoolDemo.
  3. Sử dụng hộp công cụ để thêm một Nút kiểm soát mẫu. Tên mặc định cho các Nút kiểm soát là button1.
  4. Nhấp chuột phải vào biểu mẫu và bấm Xem mã.
  5. Dán sau đây bằng cách sử dụng chỉ thị sau khi hiện tại bằng cách sử dụng chỉ thị, nhưng trước khi tuyên bố của các PoolDemo không gian tên:
    using System.Threading;					
  6. Chuyển về thiết kế xem, và sau đó bấm đúp chuột button1. Dán đoạn mã sau trong các button1_Click xử lý sự kiện:
    private void button1_Click(object sender, System.EventArgs e){	WaitCallback wcb = new WaitCallback(GetSysDirSize);	try	{		ThreadPool.QueueUserWorkItem(wcb);		MessageBox.Show("The work item has been placed on the queue");	}	catch (Exception ex)	{		MessageBox.Show("Error: " + ex.Message);	}}					
  7. Dán đoạn mã sau trong cơ thể của các Form1 lớp học. Các GetSysDirSize phương pháp tính toán tổng số byte được lưu trữ trong thư mục hệ thống. GetSysDirSize các cuộc gọi một phương pháp đặt tên là DirSize để thực hiện tính toán.

    LƯU Ý: Nhiệm vụ này có thể mất một thời gian để chạy.
    private void GetSysDirSize(object state){	long total_length = DirSize(Environment.SystemDirectory);	this.Text = total_length.ToString();}private long DirSize(string path){	long sz = 0;	System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(path);		// List files.	foreach(System.IO.FileInfo f in d.GetFiles())	{		sz += f.Length;	}	// Recurse into directories.	foreach(System.IO.DirectoryInfo dx in d.GetDirectories())	{		sz += DirSize(dx.FullName);	}	return sz;}					
back to the top

Kiểm tra các mẫu

  1. Nhấn CTRL + F5 để chạy các ứng dụng.
  2. Khi các hình thức xuất hiện, nhấp vào nút. Khi các Mục công việc đã được đặt trên xếp hàng hộp thông báo xuất hiện, nhấp vào Ok để bỏ qua hộp thư và trở về mẫu chính. Sau khi một sự chậm trễ ngắn, kích thước tổng số tập tin trong thư mục hệ thống được hiển thị trong các chú thích của biểu mẫu. Chiều dài của sự chậm trễ phụ thuộc vào tốc độ của máy tính của bạn và số lượng các tập tin trong thư mục hệ thống. Tính toán kích thước tập tin diễn ra trên một sợi trong hồ bơi sợi.
back to the top

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

Thuộc tính

ID Bài viết: 315460 - Xem lại Lần cuối: 08/27/2011 21:07:00 - Bản sửa đổi: 2.0

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

  • kbhowtomaster kbsample kbthread kbmt KB315460 KbMtvi
Phản hồi