"""
This type stub file was generated by pyright.
"""

from .object import object

class vtkSimpleCriticalSection(object):
    """
    vtkSimpleCriticalSection - Critical section locking class
    
    vtkCriticalSection allows the locking of variables which are accessed
    through different threads.  This header file also defines
    vtkSimpleCriticalSection which is not a subclass of vtkObject. The
    API is identical to that of vtkMutexLock, and the behavior is
    identical as well, except on Windows 9x/NT platforms. The only
    difference on these platforms is that vtkMutexLock is more flexible,
    in that it works across processes as well as across threads, but also
    costs more, in that it evokes a 600-cycle x86 ring transition. The
    vtkCriticalSection provides a higher-performance equivalent (on
    Windows) but won't work across processes. Since it is unclear how, in
    vtk, an object at the vtk level can be shared across processes in the
    first place, one should use vtkCriticalSection unless one has a very
    good reason to use vtkMutexLock. If higher-performance equivalents
    for non-Windows platforms (Irix, SunOS, etc) are discovered, they
    should replace the implementations in this class
    
    vtkSimpleCriticalSection()
    vtkSimpleCriticalSection(int isLocked)
    """
    def Init(self):
        """
        V.Init()
        C++: void Init()
        """
        ...
    
    def Lock(self):
        """
        V.Lock()
        C++: void Lock()
        
        Lock the vtkCriticalSection
        """
        ...
    
    def Unlock(self):
        """
        V.Unlock()
        C++: void Unlock()
        
        Unlock the vtkCriticalSection
        """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __hash__(self, *args, **kwargs) -> int:
        """ Return hash(self). """
        ...
    
    def __init__(self) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    


