.NET Framework Class Library
SynchronizationContext Class

Provides the basic functionality for propagating a synchronization context in various synchronization models.

Namespace:  System.Threading
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic (Declaration)
<SecurityPermissionAttribute(SecurityAction.InheritanceDemand, Flags := SecurityPermissionFlag.NoFlags Or SecurityPermissionFlag.ControlEvidence Or SecurityPermissionFlag.ControlPolicy)> _
Public Class SynchronizationContext
Visual Basic (Usage)
Dim instance As SynchronizationContext
C#
[SecurityPermissionAttribute(SecurityAction.InheritanceDemand, Flags = SecurityPermissionFlag.NoFlags|SecurityPermissionFlag.ControlEvidence|SecurityPermissionFlag.ControlPolicy)]
public class SynchronizationContext
Visual C++
[SecurityPermissionAttribute(SecurityAction::InheritanceDemand, Flags = SecurityPermissionFlag::NoFlags|SecurityPermissionFlag::ControlEvidence|SecurityPermissionFlag::ControlPolicy)]
public ref class SynchronizationContext
JScript
public class SynchronizationContext
Remarks

The SynchronizationContext class is a base class that provides a free-threaded context with no synchronization.

The purpose of the synchronization model implemented by this class is to allow the internal asynchronous/synchronization operations of the common language runtime to behave properly with different synchronization models. This model also simplifies some of the requirements that managed applications have had to follow in order to work correctly under different synchronization environments.

Providers of synchronization models can extend this class and provide their own implementations for these methods. 

Inheritance Hierarchy

System..::.Object
  System.Threading..::.SynchronizationContext
    System.Windows.Forms..::.WindowsFormsSynchronizationContext
    System.Windows.Threading..::.DispatcherSynchronizationContext
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference

Tags :


Community Content

xalnix
SynchronizationContext Overview and Example
Some of you may be like me and have asked, what is the SynchronizationContext? and what is it used for? The following link, does a great job of explaining it...

http://www.codeproject.com/KB/cpp/SyncContextTutorial.aspx
Tags :

Jay R. Wren evarlast
Another detailed article
http://www.codeproject.com/KB/threads/SynchronizationContext.aspx
and its follow ups part 2 and part 3 are also very good.
Tags : wcf parallel sta

Page view tracker