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