![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/doc/gnustep-base-doc/BaseAdditions/Reference/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>GSLock documentation</title> </head> <body> <font face="serif"> <a href="BaseAdditions.html">Up</a> <br /> <h1><a name="title$GSLock">GSLock documentation</a></h1> <h3>Authors</h3> <dl> <dt>Richard Frith-Macdonald (<a href="mailto:rfm@gnu.org"><code>rfm@gnu.org</code></a>)</dt> <dd> </dd> </dl> <p><b>Copyright:</b> (C) 2003 Free Software Foundation, Inc.</p> <div> <hr width="50%" align="left" /> <h3>Contents -</h3> <ol> <li> <a href="#001000000000">Software documentation for the GSLazyLock class</a> </li> <li> <a href="#002000000000">Software documentation for the GSLazyRecursiveLock class</a> </li> </ol> <hr width="50%" align="left" /> </div> <h1><a name="001000000000"> Software documentation for the GSLazyLock class </a></h1> <h2><a name="class$GSLazyLock">GSLazyLock</a> : NSLock</h2> <blockquote class="declared"> <dl> <dt><b>Declared in:</b></dt> <dd>GNUstepBase/GSLock.h</dd> </dl> </blockquote> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This implements a class which, when used in single-threaded mode, acts like a lock while avoiding the overheads of actually using a real lock. However, when the programm in which the class is used becomes multi-threaded, all instances of this class transform themselves into real locks in the correct state (locked/unlocked) corresponding to whether the lazy lock was locked or not at the point where the program became multi threadeed. <br /> Use of this class allows you to write thread-safe code which avoids locking inefficiencies when used in a single threaded application, without having to worry about dealing with the issue yourself. </div> <hr width="50%" align="left" /> <a href="#_GSLazyLock_ivars">Instance Variables</a> <br/><br/> <b>Method summary</b> <ul> <li><a rel="gsdoc" href="GSLock.html#method$GSLazyLock-_becomeThreaded$">-_becomeThreaded:</a></li> </ul> <hr width="50%" align="left" /> <div class="method"> <h3><a name="method$GSLazyLock-_becomeThreaded$">_becomeThreaded: </a></h3> - (void) <b>_becomeThreaded:</b> (NSNotification*)n;<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code. <br /> Do not use this method ... it is used internally to handle the transition from a single threaded system to a multi threaded one. </div> <hr width="25%" align="left" /> </div> <a name="_GSLazyLock_ivars"/> <br/><hr width="50%" align="left" /> <h2>Instance Variables for GSLazyLock Class</h2> <h3><a name="ivariable$GSLazyLock*locked">locked</a></h3> @protected int <b>locked</b>;<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <br/><hr width="50%" align="left" /><br/> <h1><a name="002000000000"> Software documentation for the GSLazyRecursiveLock class </a></h1> <h2><a name="class$GSLazyRecursiveLock">GSLazyRecursiveLock</a> : NSRecursiveLock</h2> <blockquote class="declared"> <dl> <dt><b>Declared in:</b></dt> <dd>GNUstepBase/GSLock.h</dd> </dl> </blockquote> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This implements a class which, when used in single-threaded mode, acts like a recursive lock while avoiding the overheads of using a real lock. However, when the programm in which the class is used becomes multi-threaded, all instances of this class transform themselves into real locks in the correct state (locked/unlocked) corresponding to whether the lazy recursive lock was locked or not at the point where the program became multi threadeed. <br /> Use of this class allows you to write thread-safe code which avoids locking inefficiencies when used in a single threaded application, without having to worry about dealing with the issue yourself. </div> <hr width="50%" align="left" /> <a href="#_GSLazyRecursiveLock_ivars">Instance Variables</a> <br/><br/> <b>Method summary</b> <ul> <li><a rel="gsdoc" href="GSLock.html#method$GSLazyRecursiveLock-_becomeThreaded$">-_becomeThreaded:</a></li> </ul> <hr width="50%" align="left" /> <div class="method"> <h3><a name="method$GSLazyRecursiveLock-_becomeThreaded$">_becomeThreaded: </a></h3> - (void) <b>_becomeThreaded:</b> (NSNotification*)n;<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code. <br /> Do not use this method ... it is used internally to handle the transition from a single threaded system to a multi threaded one. </div> <hr width="25%" align="left" /> </div> <a name="_GSLazyRecursiveLock_ivars"/> <br/><hr width="50%" align="left" /> <h2>Instance Variables for GSLazyRecursiveLock Class</h2> <h3><a name="ivariable$GSLazyRecursiveLock*counter">counter</a></h3> @protected int <b>counter</b>;<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <br/><hr width="50%" align="left" /><br/> <br /> <a href="BaseAdditions.html">Up</a> </font> </body> </html>