⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.vb

📁 适合VB初学者看
💻 VB
字号:
Imports System
Imports System.Threading
Module Module1
    Sub Main()
        '创建类Class1的对象
        Dim theClass As class1
        theClass = New class1()
        '构造两个线程对象
        Dim threadOne As Thread
        Dim threadTwo As Thread
        threadOne = New Thread(AddressOf theClass.PrintOddNumber)
        threadTwo = New Thread(AddressOf theClass.PrintEvenNumber)
        Console.WriteLine("按 q 键退出主线程循环")
        '启动线程
        threadOne.Start()
        threadTwo.Start()
        If Console.ReadLine() = "q" Then
            End
        End If
    End Sub
    Public Class class1
        '显示奇数
        Public Sub PrintOddNumber()
            Dim i As Integer
            Monitor.Enter(Me)
            For i = 1 To 9 Step 2
                'FOR循环一开始就进入等待状态,
                '也就是等待别的线程调用Pulse或PulseAll
                Monitor.Wait(Me)
                '输出一个奇数
                Console.WriteLine(i)
                '让处于等待的线程进入就绪状态
                Monitor.Pulse(Me)
            Next
            Monitor.Exit(Me)
        End Sub
        '显示偶数
        Public Sub PrintEvenNumber()
            Dim i As Integer
            Monitor.Enter(Me)
            For i = 0 To 9 Step 2
                '输出一个奇数
                Console.WriteLine(i)
                '让处于等待的线程进入就绪状态
                Monitor.Pulse(Me)
                '自己处于等待状态
                Monitor.Wait(Me)
            Next
            Monitor.Exit(Me)
        End Sub
    End Class
End Module

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -