<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Class Poco::RWLock</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="language" content="en"/> <meta name="date" content="2009-11-24"/> <meta name="generator" content="PocoDoc"/> <link rel="stylesheet" href="css/styles.css" type="text/css"/> </head> <body bgcolor="#ffffff" leftmargin="0" topmargin="0"> <div class="header"> <h1 class="namespace"><a href="Poco.html" class="namespace">Poco</a></h1> <h1 class="symbol">class RWLock</h1> </div> <div class="body"> <p> <b>Library:</b> Foundation<br /> <b>Package:</b> Threading<br /> <b>Header:</b> Poco/RWLock.h</p> <h2>Description</h2> <div class="description"> <p>A reader writer lock allows multiple concurrent readers or one exclusive writer. </p> </div> <h2>Inheritance</h2> <p><b>Direct Base Classes: </b>RWLockImpl</p> <p><b>All Base Classes: </b>RWLockImpl</p> <h2>Member Summary</h2> <p><b>Member Functions: </b><a href="Poco.RWLock.html#9578" title="Poco::RWLock::readLock()">readLock</a>, <a href="Poco.RWLock.html#9579" title="Poco::RWLock::tryReadLock()">tryReadLock</a>, <a href="Poco.RWLock.html#9581" title="Poco::RWLock::tryWriteLock()">tryWriteLock</a>, <a href="Poco.RWLock.html#9582" title="Poco::RWLock::unlock()">unlock</a>, <a href="Poco.RWLock.html#9580" title="Poco::RWLock::writeLock()">writeLock</a></p> <h2>Types</h2> <h3><a name="9573">ScopedLock</a></h3> <p class="decl">typedef <a href="Poco.ScopedRWLock.html" title="class Poco::ScopedRWLock">ScopedRWLock</a> <a href="Poco.RWLock.html#9573" title="Poco::RWLock::ScopedLock">ScopedLock</a>;</p> <div class="description"> <p></p> </div> <h3><a name="9574">ScopedReadLock</a></h3> <p class="decl">typedef <a href="Poco.ScopedReadRWLock.html" title="class Poco::ScopedReadRWLock">ScopedReadRWLock</a> <a href="Poco.RWLock.html#9574" title="Poco::RWLock::ScopedReadLock">ScopedReadLock</a>;</p> <div class="description"> <p></p> </div> <h3><a name="9575">ScopedWriteLock</a></h3> <p class="decl">typedef <a href="Poco.ScopedWriteRWLock.html" title="class Poco::ScopedWriteRWLock">ScopedWriteRWLock</a> <a href="Poco.RWLock.html#9575" title="Poco::RWLock::ScopedWriteLock">ScopedWriteLock</a>;</p> <div class="description"> <p></p> </div> <h2>Constructors</h2> <h3><a name="9576">RWLock</a></h3> <p class="decl"><a href="Poco.RWLock.html" title="class Poco::RWLock">RWLock</a>();</p> <div class="description"> <p>Creates the Reader/Writer lock. </p> </div> <h2>Destructor</h2> <h3><a name="9577">~RWLock</a></h3> <p class="decl">~<a href="Poco.RWLock.html" title="class Poco::RWLock">RWLock</a>();</p> <div class="description"> <p>Destroys the Reader/Writer lock. </p> </div> <h2>Member Functions</h2> <h3><a name="9578">readLock</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void readLock();</p> <div class="description"> <p>Acquires a read lock. If another thread currently holds a write lock, waits until the write lock is released. </p> </div> <h3><a name="9579">tryReadLock</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">bool tryReadLock();</p> <div class="description"> <p>Tries to acquire a read lock. Immediately returns true if successful, or false if another thread currently holds a write lock. </p> </div> <h3><a name="9581">tryWriteLock</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">bool tryWriteLock();</p> <div class="description"> <p>Tries to acquire a write lock. Immediately returns true if successful, or false if one or more other threads currently hold locks. The result is undefined if the same thread already holds a read or write lock. </p> </div> <h3><a name="9582">unlock</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void unlock();</p> <div class="description"> <p>Releases the read or write lock. </p> </div> <h3><a name="9580">writeLock</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void writeLock();</p> <div class="description"> <p>Acquires a write lock. If one or more other threads currently hold locks, waits until all locks are released. The results are undefined if the same thread already holds a read or write lock </p> </div> <p class="footer">POCO C++ Libraries 1.3.6-all<br /> Copyright © 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p> </div> </body> </html>