Mega Code Archive

 
Categories / VB.Net Tutorial / Thread
 

Get Available Threads in a ThreadPool and Get Max Threads in a ThreadPool

Imports System.Threading public class Test    public Shared Sub Main                Dim msg As String : Dim i As Integer                Dim job As New MyJob()                For i = 1 To 5                        ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf job.MyTask), i)                Next                Thread.Sleep(2000)    End Sub End class Public Class MyJob        Private Msg As String        Dim availWorker As Integer = 0 : Dim maxWorker As Integer = 0        Dim availCPT As Integer = 0 : Dim maxCPT As Integer = 0                Public Sub MyTask(ByVal ThreadStateData As Object)                Console.WriteLine("Performing Task. Data Passed: " & ThreadStateData)                ThreadPool.GetAvailableThreads(availWorker, availCPT)                ThreadPool.GetMaxThreads(maxWorker, maxCPT)                Console.WriteLine("--Available Worker Threads: " & availWorker.ToString())                Console.WriteLine("--Maximum Worker Threads: " & maxWorker.ToString())                Console.WriteLine("--Available Completion Port Threads: " & availCPT.ToString())                Console.WriteLine("--Maximum Completion Port Threads: " & maxCPT)        End Sub End Class Performing Task. Data Passed: 1 --Available Worker Threads: 24 --Maximum Worker Threads: 25 --Available Completion Port Threads: 1000 --Maximum Completion Port Threads: 1000 Performing Task. Data Passed: 2 --Available Worker Threads: 24 --Maximum Worker Threads: 25 --Available Completion Port Threads: 1000 --Maximum Completion Port Threads: 1000 Performing Task. Data Passed: 3 --Available Worker Threads: 24 --Maximum Worker Threads: 25 --Available Completion Port Threads: 1000 --Maximum Completion Port Threads: 1000 Performing Task. Data Passed: 4 --Available Worker Threads: 24 --Maximum Worker Threads: 25 --Available Completion Port Threads: 1000 --Maximum Completion Port Threads: 1000 Performing Task. Data Passed: 5 --Available Worker Threads: 24 --Maximum Worker Threads: 25 --Available Completion Port Threads: 1000 --Maximum Completion Port Threads: 1000