Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In order for your multithreaded components to be thread-safe, you must coordinate access to shared resources. If multiple threads attempt to access a shared resource at the same time, race conditions can result, causing corruption of data. You can avoid race conditions by using locks. For details on thread-safety and race conditions, see Thread-Safe Components.
To create a lock on an object
Identify the code that must be executed atomically and the object on which the code will be executed. For details, see Thread-Safe Components
Place a lock on that object and enclose your code inside that lock.
This code will now be executed atomically on the locked object.
SyncLock MyObject ' This represents the start of the lock on MyObject. ' Insert code to be executed atomically on MyObject here. End SyncLock ' This represents the end of the lock.
lock (MyObject) // All code inside the braces {} is executed with MyObject locked. { // Insert code to be executed atomically on MyObject here. }
See Also
Tasks
Walkthrough: Authoring a Simple Multithreaded Component with Visual Basic
Walkthrough: Authoring a Simple Multithreaded Component with Visual C#
Reference
Concepts
Thread-Safe Components
Asynchronous Pattern for Components