Magazine Internet

[VB] Thread-Safe facile avec SynchronizationContext

Publié le 06 octobre 2008 par Jeremy.jeanson

Voici un petit code qui explique simplement l'utilisation du SynchronizationContext pour obtenir un code Thread-safe.

Imports System 
Imports System.Threading 

Namespace WindowsFormsApplication1 
    ''' <summary> 
    ''' Classe métier qui a besoin d'avoir des appels avec SynchronizationContext 
    ''' </summary> 
    Public Class Class1 
        Private _context As SynchronizationContext 
        
        ''' <summary> 
        ''' Constructeur 
        ''' </summary> 
        Public Sub New() 
            ' Mémorisation du context 
            _context = SynchronizationContext.Current 
        End Sub 
        
        ''' <summary> 
        ''' Lancement de la méthode hors context 
        ''' </summary> 
        Public Sub DoWork() 
            ' Test si on a un context (juste par prudence) 
            If _context IsNot Nothing Then 
                ' Appel de la méthode via le context 
                _context.Post(Work, Nothing) 
            End If 
        End Sub 
        
        ''' <summary> 
        ''' Méthode que l'on souhaite proteger via SynchronizationContext 
        ''' </summary> 
        ''' <param name="data"></param> 
        Private Sub Work(data As Object) 
            ' Faire le job 
        End Sub 
    End Class 
End Namespace 
-left: 95px; background: url(http://www.blogblog.com/tictac/bottom_sash_left.gif) no-repeat top left; } /** Page structure tweaks for layout editor wireframe */ body#layout #outer

Retour à La Une de Logo Paperblog

LES COMMENTAIRES (2)

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte