วิธีการสร้างเธรดใน Visual Basic .NET หรือ Visual Basic 2005

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:315577
สรุป
บทความนี้อธิบายวิธีการสร้างเธรดในโปรแกรมประยุกต์ Microsoft Visual Basic .NET หรือ Microsoft Visual Basic 2005 Windows กระบวนการSystem.Threadingnamespace แสดงระดับชั้นที่คุณต้องมีการทำงานกับเธรด

ความต้องการ

รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่คุณต้องการ:
  • Microsoft Windows 2000 หรือ Microsoft Windows XP
  • Microsoft Visual Basic .NET หรือ Microsoft Visual Basic 2005
บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับหัวข้อต่อไปนี้:
  • การเขียนโปรแกรม.NET visual Basic หรือเขียนโปรแกรม Visual Basic 2005
  • visual Studio .NET หรือสภาพแวด Visual Studio 2005 พัฒนารวมล้อม (IDE)
  • familiarity ทั่วไป มีผู้รับมอบสิทธิ์และเธรด
  • familiarity ทั่วไปเกี่ยวกับ Visual Basic .NET หรือ Visual Basic 2005

สร้างโปรแกรมประยุกต์ Visual Basic .NET หรือ Visual Basic 2005 กับเธรด

  1. เริ่ม Microsoft Visual Studio .NET หรือ Microsoft Visual Studio 2005
  2. สร้างโครงการการแอพลิเคชัน Windows Visual Basic ใหม่ที่ชื่อว่า ThreadWinApp
  3. เพิ่มคำปุ่มควบคุมไปยังแบบฟอร์ม ชื่อปุ่มbutton1โดยค่าเริ่มต้น
  4. เพิ่มคำProgressBarคอมโพเนนต์ให้กับฟอร์ม ชื่อแถบความคืบหน้าProgressBar1โดยค่าเริ่มต้น
  5. คลิกขวาที่รูปแบบ และจากนั้น คลิกรหัสของมุมมอง.
  6. เพิ่มคำสั่งต่อไปนี้เพื่อเริ่มต้นของแฟ้ม:
    Imports System.Threading					
  7. เพิ่มต่อไปนี้คลิกตัวจัดการเหตุการณ์สำหรับbutton1:
    Private Sub Button1_Click( _    ByVal sender As System.Object, ByVal e As System.EventArgs) _    Handles Button1.Click    MessageBox.Show("This is the main thread")End Sub					
  8. เพิ่มตัวแปรต่อไปนี้เพื่อform1คลาส:
    Private trd As Thread					
  9. เพิ่มวิธีการต่อไปนี้ไปform1คลาส:
    Private Sub ThreadTask()    Dim stp As Integer    Dim newval As Integer    Dim rnd As New Random()    Do        stp = ProgressBar1.Step * rnd.Next(-1, 2)        newval = ProgressBar1.Value + stp        If newval > ProgressBar1.Maximum Then            newval = ProgressBar1.Maximum        ElseIf newval < ProgressBar1.Minimum Then            newval = ProgressBar1.Minimum        End If        ProgressBar1.Value = newval        Thread.Sleep(100)    LoopEnd Sub						
    หมายเหตุ:: นี่คือรหัสที่ underlies เธรด รหัสนี้เป็นลูป infinite ที่เพิ่มโดยการสุ่มหรือ decrements ค่าในProgressBar1และรอมิลลิวินาที 100 แล้ว ก่อนที่จะดำเนินต่อ
  10. เพิ่มต่อไปนี้การโหลดตัวจัดการเหตุการณ์สำหรับform1. รหัสนี้สร้างเธรดใหม่ ทำเธรดเธรดพื้นหลัง แล้ว เริ่มการทำงานเธรด
    Private Sub Form1_Load( _    ByVal sender As System.Object, ByVal e As System.EventArgs) _    Handles MyBase.Load    trd = New Thread(AddressOf ThreadTask)    trd.IsBackground = True    trd.Start()End Sub					

ตรวจสอบการทำให้ งาน

  1. สร้าง และเรียกใช้โปรแกรมประยุกต์ ขอให้สังเกตว่า ค่าในแถบความคืบหน้าการเปลี่ยนแปลงแบบสุ่ม เธรดใหม่ในการดำเนินงานอยู่
  2. การสาธิตเธรดหลักให้จะขึ้นอยู่กับเธรดที่เปลี่ยนแปลงนั้นProgressBarค่า คลิกปุ่มบนแบบฟอร์ม กล่องข้อความแสดงข้อความต่อไปนี้:
    This is the main thread							
    กำลังรอให้ป้อนข้อมูล ขอให้สังเกตว่า ค่าในแถบความคืบหน้ายังคงมีอยู่เพื่อเปลี่ยนแปลง

การแก้ไขปัญหา

ในโปรแกรมประยุกต์ที่ซับซ้อนมาก ตรวจสอบให้แน่ใจว่า คุณซิงโครไนส์หลายเธรดเมื่อคุณเข้าถึงตัวแปรที่ใช้ร่วมกัน สำหรับข้อมูลเพิ่มเติม โปรดไปSyncLockงบดุลและหัวข้อที่เกี่ยวข้องในเอกสารวิธีใช้แบบออนไลน์ของ Visual Basic
multi-threaded

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 315577 - การตรวจสอบครั้งสุดท้าย: 01/13/2011 08:00:00 - ฉบับแก้ไข: 4.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315577 KbMtth
คำติชม