vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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 - Ein- und Umsteiger
... Code ... 
Autor: Schü
Datum: 06.08.10 15:54

'Basisklasse
    Public MustInherit Class ThreadWrapperBase
        Implements IDisposable
 
        Protected mThread As System.Threading.Thread = Nothing
        Protected mIsCompleted As Boolean = True
        Protected mRequestStop As Boolean = False
        Protected mAutoResetEvent As New System.Threading.AutoResetEvent(True)
        Protected mIsBackground As Boolean = True
        Protected mThreadName As String
        Protected mDebugMode As Boolean = False
        Protected mStartTime As Date
        Protected mWorkTime As TimeSpan = TimeSpan.Zero
 
        Public Sub New(ByVal ThreadName As String)
            If ThreadName Is Nothing Then
                mThreadName = Guid.NewGuid.ToString
                Return
            End If
            mThreadName = ThreadName
        End Sub
        Public Sub New()
            mThreadName = Guid.NewGuid.ToString
        End Sub
        Public Sub New(ByVal IsBackground As Boolean)
            mIsBackground = IsBackground
            mThreadName = Guid.NewGuid.ToString
        End Sub
        Public Sub New(ByVal IsBackground As Boolean, ByVal ThreadName As _
          String)
            mIsBackground = IsBackground
            If ThreadName Is Nothing Then
                mThreadName = Guid.NewGuid.ToString
                Return
            End If
            mThreadName = ThreadName
        End Sub
        ''' <summary>
        ''' Haupt- und alle SingleThreads laufen als Background-Threads
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks>kann nur geändert werden, wenn Klasse inaktiv</remarks>
        Public Property IsBackground() As Boolean
            Get
                Return mIsBackground
            End Get
            Set(ByVal value As Boolean)
                If Not IsAlive() Then mIsBackground = value
            End Set
        End Property
        ''' <summary>
        ''' AutoResetEvent zum Synchronisieren evt. anderer externer Threads
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property AutoResetEvent() As _
          System.Threading.AutoResetEvent
            Get
                Return mAutoResetEvent
            End Get
        End Property
        Public ReadOnly Property ThreadName() As String
            Get
                Return mThreadName
            End Get
        End Property
 
        ''' <summary>
        ''' Debug-Info's für Start etc. ausgeben oder nicht
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property DebugMode() As Boolean
            Get
                Return mDebugMode
            End Get
            Set(ByVal value As Boolean)
                mDebugMode = value
            End Set
        End Property
 
        ''' <summary>
        ''' Gesamte Zeit zwischen dem Start und der Fertigstellung der Aufgaben 
        ' bzw. Abbruch
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property WorkTime() As TimeSpan
            Get
                Return mWorkTime
            End Get
        End Property
 
        Public Overridable Sub Start()
            If mDebugMode Then Debug.WriteLine(mThreadName & "::" & _
              "StartRequested")
            m_Reset()
            mThread.Start() '(muss in abgeleiteter Klasse überschrieben werden)
        End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Klasse für MultiThreading2.503Schü06.08.10 14:16
Re: Klasse für MultiThreading1.739Schü06.08.10 14:19
Re: Klasse für MultiThreading1.789ModeratorDaveS06.08.10 14:50
Re: Klasse für MultiThreading2.043Schü06.08.10 15:34
... Code ...1.888Schü06.08.10 15:48
... Code ...1.760Schü06.08.10 15:49
... Code ...1.871Schü06.08.10 15:51
... Code ...1.734Schü06.08.10 15:51
... Code ...1.808Schü06.08.10 15:52
... Code ...1.851Schü06.08.10 15:52
... Code ...1.761Schü06.08.10 15:53
... Code ...1.833Schü06.08.10 15:54
... Code ...1.697Schü06.08.10 15:56
... Code ... Ende1.783Schü06.08.10 15:57
Re: Klasse für MultiThreading1.755ModeratorRalfE06.08.10 19:17
Re: Klasse für MultiThreading1.730Schü07.08.10 15:35
Re: Klasse für MultiThreading1.735ModeratorDaveS07.08.10 16:04
Re: Klasse für MultiThreading1.802ModeratorRalfE07.08.10 16:33
Re: Klasse für MultiThreading1.729Schü07.08.10 17:17
Link zum Projekt2.003Schü09.08.10 11:30
1. Korrektur1.712Schü10.08.10 07:55
2. Korrektur1.729Schü10.08.10 08:26
3. Korrektur1.721Schü11.08.10 09:49

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