Thread VB.Net Tutorial

Imports System
Imports System.Threading
Public Class MyData
    Public MyStringValue As String
    Public Value As Integer
    Public Sub New(text As String, number As Integer)
        MyStringValue = text
        Value = number
    End Sub
End Class
Public Class Example
    Public Shared Sub Main()
        Dim ti As New MyData("value", 42)
        If ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf ThreadProc), ti) Then
            Thread.Sleep(1000)
        Else
            Console.WriteLine("Unable to queue ThreadPool request.")
        End If
    End Sub
    Shared Sub ThreadProc(stateInfo As Object)
        Dim ti As MyData = CType(stateInfo, MyData)
        Console.WriteLine(ti.MyStringValue, ti.Value)
    End Sub
End Class