IThreadAware Interface |
Interface implemented by objects that are aware of concurrency. Access to thread-aware objects is controlled by a concurrency controller (IConcurrencyController).
Any aspect implementing a threading model (ThreadAwareObjectAttribute) introduces this interface to the target class and ensures that accesses to this class go through
the controller.
Namespace: PostSharp.Patterns.Threading
Assembly: PostSharp.Patterns.Common (in PostSharp.Patterns.Common.dll) Version: 6.4.3.0 (6.4.3.0)

C#
public interface IThreadAware
The IThreadAware type exposes the following members.

Name | Description | |
---|---|---|
![]() | ConcurrencyController |
Gets the concurrency controller for the current object.
|

Name | Description | |
---|---|---|
![]() | OnParentControllerChanged |
Notifies the object that the effective controller of it's parent has changed.
|

Name | Description | |
---|---|---|
![]() | AcquireAccess(ObjectAccessLevel) | Overloaded.
Acquires access to given object and returns the ConcurrentAccessToken.
(Defined by ThreadAwareExtensions.) |
![]() | AcquireAccess(ObjectAccessLevel, ConcurrentAccessToken) | Overloaded.
Acquires access for a given object and gets the ConcurrentAccessToken as a reference parameter.
(Defined by ThreadAwareExtensions.) |
![]() | AcquireAccessAsync |
Asynchronously acquires access for a given object.
(Defined by ThreadAwareExtensions.) |

Thread-aware does not thread-safe. Check the IsSharable property of ConcurrencyController to check if the current object can be shared between different threads.
