vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Garbage Collection Multithreading 
Autor: Easyrider
Datum: 18.04.05 13:41

Ich habe in der letzten halben Stunde ein Testprojekt erstellt, indem ich einen Threadpool benutze. Nachfolgend der Code:

    Private Sub cmdTeststarten_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles cmdTeststarten.Click
 
        Dim trd As New Threading.Thread(AddressOf Run)
 
        trd.Start()
 
    End Sub
 
    Private Sub Run()
 
        Do
            'Hinzufügen und dann 1 sek Pause.
            ThreadPool.QueueUserWorkItem(New Threading.WaitCallback(AddressOf _
              Start))
            System.Threading.Thread.CurrentThread.Sleep(1000)
        Loop
 
    End Sub
 
    Private Sub Start(ByVal state As Object)
 
        Me.Text = "Pause..."
 
        System.Threading.Thread.CurrentThread.Sleep(500)
 
        Me.Text = "Erstelle Threads..."
        Me.lblThread1.Text = ""
        Me.lblThread2.Text = ""
        Me.lblThread3.Text = ""
 
        Dim thrThread1 As New Threading.Thread(AddressOf Thread1)
        Dim thrThread2 As New Threading.Thread(AddressOf Thread2)
        Dim thrThread3 As New Threading.Thread(AddressOf Thread3)
 
        Me.Text = "Start..."
 
        thrThread1.Start()
        thrThread2.Start()
        thrThread3.Start()
 
        Me.Text = "Synchronisiere..."
 
        thrThread1.Join()
        thrThread2.Join()
        thrThread3.Join()
 
        Me.Text = "Ready"
 
    End Sub
 
    Private Sub Thread1()
 
        System.Threading.Thread.CurrentThread.Sleep(500)
        Me.ListBox1.Items.Add("Thread1")
 
    End Sub
 
    Private Sub Thread2()
 
        System.Threading.Thread.CurrentThread.Sleep(1000)
        Me.ListBox1.Items.Add("Thread2")
 
    End Sub
 
    Private Sub Thread3()
 
         System.Threading.Thread.CurrentThread.Sleep(750)
        Me.ListBox1.Items.Add("Thread3")
 
    End Sub
Jetzt habe ich zwar nicht mehr das Problem das ich ewig viele Threads habe, dafür steigt bei jedem Schleifendurchlauf meine Handle-Zahl. Und das frisst auch Ressourcen. Wie kann ich dem Abhilfe schaffen?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Garbage Collection Multithreading1.148Easyrider18.04.05 09:47
Re: Garbage Collection Multithreading830ModeratorFZelle18.04.05 11:14
Re: Garbage Collection Multithreading862Easyrider18.04.05 11:24
Re: Garbage Collection Multithreading838ModeratorDaveS18.04.05 12:13
Re: Garbage Collection Multithreading894ModeratorDaveS18.04.05 13:00
Re: Garbage Collection Multithreading890ModeratorFZelle18.04.05 12:50
Re: Garbage Collection Multithreading818Easyrider18.04.05 13:01
Re: Garbage Collection Multithreading889Easyrider18.04.05 13:41
Re: Garbage Collection Multithreading825ModeratorFZelle18.04.05 19:28
Re: Garbage Collection Multithreading830Easyrider19.04.05 08:37
Re: Garbage Collection Multithreading832ModeratorFZelle19.04.05 09:15
Re: Garbage Collection Multithreading825Easyrider19.04.05 13:36

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel