Hallo liebe Community,
ich hätte eine rasche Frage undzwar will ich die CPU Kerne in einem neuen Thread auslesen und zu einer Combobox hinzufügen.
Es funktioniert auch perfekt bis zum 4 Kern.
Jedoch fügt er dann einen 5. Nicht vorhandenen Kern 5 mal zur Combobox hinzu.
Die Funktion
Anscheinend habe ich irgendetwas an der For-Schleife falsch gemacht.
Danke im Vorraus.
ich hätte eine rasche Frage undzwar will ich die CPU Kerne in einem neuen Thread auslesen und zu einer Combobox hinzufügen.
VB.NET-Quellcode
- ''' <summary>
- ''' Ermittelt die Anzahl der CPU-Kerne.
- ''' </summary>
- ''' <remarks>Bei einem Fehler wird der Wert -1 zurückgegeben.</remarks>
- Public Shared Function GetNumberOfCores() As Integer
- Try
- Dim searcher As New ManagementObjectSearcher( _
- "root\CIMV2", _
- "SELECT * FROM Win32_Processor")
- Dim strCores As String = String.Empty
- For Each queryObj As ManagementObject In searcher.Get()
- strCores = queryObj("NumberOfCores").ToString
- Return Integer.Parse(strCores)
- Next
- Catch err As ManagementException
- Return -1
- End Try
- End Function
- ''' <summary>
- ''' Ermittelt die Anzahl der CPU-Kerne und weißt diese der Combobox zu.
- ''' </summary>
- Private Sub GetAndSetCoreCount()
- For int As Integer = 0 To Gather.SystemInfo.GetNumberOfCores
- Me.BeginInvoke(Sub() cboxCPUCount.Items.Add(int.ToString))
- Next
- End Sub
- 'Aufruf im Form-Load Event
- 'Systeminformationen ermitteln.
- tThread = New Thread(New ThreadStart(AddressOf GetAndSetCoreCount))
- tThread.Start()
Es funktioniert auch perfekt bis zum 4 Kern.
Jedoch fügt er dann einen 5. Nicht vorhandenen Kern 5 mal zur Combobox hinzu.
Die Funktion
GetNumberOfCores
selbst funktioniert einwandfrei.Anscheinend habe ich irgendetwas an der For-Schleife falsch gemacht.
Danke im Vorraus.