mirror of
				https://github.com/InsanusMokrassar/MicroUtils.git
				synced 2025-10-30 19:50:31 +00:00 
			
		
		
		
	deploy: f2a9514d89
				
					
				
			This commit is contained in:
		| @@ -1,10 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <html class="no-js"> | ||||
| <head> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8"> | ||||
|     <title>SmartRWLocker</title> | ||||
|     <link href="../../../images/logo-icon.svg" rel="icon" type="image/svg"> | ||||
|     <script>var pathToRoot = "../../../";</script> | ||||
|     <script>document.documentElement.classList.replace("no-js","js");</script> | ||||
|     <script>const storage = localStorage.getItem("dokka-dark-mode") | ||||
|     if (storage == null) { | ||||
|         const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches | ||||
| @@ -18,12 +19,13 @@ | ||||
|         } | ||||
|     } | ||||
|     </script> | ||||
| <script type="text/javascript" src="https://unpkg.com/kotlin-playground@1/dist/playground.min.js" async="async"></script> | ||||
| <script type="text/javascript" src="../../../scripts/sourceset_dependencies.js" async="async"></script> | ||||
| <link href="../../../styles/style.css" rel="Stylesheet"> | ||||
| <link href="../../../styles/jetbrains-mono.css" rel="Stylesheet"> | ||||
| <link href="../../../styles/main.css" rel="Stylesheet"> | ||||
| <link href="../../../styles/prism.css" rel="Stylesheet"> | ||||
| <link href="../../../styles/logo-styles.css" rel="Stylesheet"> | ||||
| <link href="../../../styles/font-jb-sans-auto.css" rel="Stylesheet"> | ||||
| <script type="text/javascript" src="../../../scripts/clipboard.js" async="async"></script> | ||||
| <script type="text/javascript" src="../../../scripts/navigation-loader.js" async="async"></script> | ||||
| <script type="text/javascript" src="../../../scripts/platform-content-handler.js" async="async"></script> | ||||
| @@ -32,33 +34,38 @@ | ||||
| <script type="text/javascript" src="../../../scripts/symbol-parameters-wrapper_deferred.js" defer="defer"></script> | ||||
| </head> | ||||
| <body> | ||||
| <div class="navigation-wrapper" id="navigation-wrapper"> | ||||
|     <div id="leftToggler"><span class="icon-toggler"></span></div> | ||||
|     <div class="library-name"> | ||||
|             <a href="../../../index.html"> | ||||
|                     <span>micro_utils.dokka</span> | ||||
|             </a> | ||||
|     </div> | ||||
|     <div> | ||||
| 0.20.3    </div> | ||||
|     <div class="pull-right d-flex"> | ||||
|     <div class="root"> | ||||
| <nav class="navigation" id="navigation-wrapper"> | ||||
|     <div class="navigation--inner"> | ||||
|         <div class="navigation-title"> | ||||
|             <button class="menu-toggle" id="menu-toggle" type="button">toggle menu</button> | ||||
|             <div class="library-name"> | ||||
|                     <a class="library-name--link" href="../../../index.html"> | ||||
|                             micro_utils.dokka | ||||
|                     </a> | ||||
|             </div> | ||||
|             <div class="library-version"> | ||||
| 0.20.3            </div> | ||||
|         </div> | ||||
|         <div class="filter-section" id="filter-section"> | ||||
|                 <button class="platform-tag platform-selector common-like" data-active="" data-filter=":micro_utils.dokka:dokkaHtml/commonMain">common</button> | ||||
|         </div> | ||||
|         <button id="theme-toggle-button"><span id="theme-toggle"></span></button> | ||||
|         <div id="searchBar"></div> | ||||
|     </div> | ||||
| </div> | ||||
| <div id="container"> | ||||
|     <div id="leftColumn"> | ||||
|         <div id="sideMenu"></div> | ||||
|     <div class="navigation-controls"> | ||||
|         <button class="navigation-controls--btn navigation-controls--theme" id="theme-toggle-button" type="button">switch theme</button> | ||||
|         <div class="navigation-controls--btn navigation-controls--search" id="searchBar" role="button">search in API</div> | ||||
|     </div> | ||||
|     <div id="main"> | ||||
| </nav> | ||||
|         <div id="container"> | ||||
|             <div class="sidebar" id="leftColumn"> | ||||
|                 <div class="sidebar--inner" id="sideMenu"></div> | ||||
|             </div> | ||||
|             <div id="main"> | ||||
| <div class="main-content" data-page-type="classlike" id="content" pageIds="micro_utils.dokka::dev.inmo.micro_utils.coroutines/SmartRWLocker///PointingToDeclaration//-1478683138"> | ||||
|   <div class="breadcrumbs"><a href="../../../index.html">micro_utils.dokka</a><span class="delimiter">/</span><a href="../index.html">dev.inmo.micro_utils.coroutines</a><span class="delimiter">/</span><span class="current">SmartRWLocker</span></div> | ||||
|   <div class="cover "> | ||||
|     <h1 class="cover"><span>Smart</span><wbr></wbr><span><span>RWLocker</span></span></h1> | ||||
|     <div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">SmartRWLocker</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">readPermits<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a><span class="token operator"> = </span>Int.MAX_VALUE<span class="token punctuation">, </span></span><span class="parameter ">writeIsLocked<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">false</span></span></span><span class="token punctuation">)</span></div><p class="paragraph">Composite mutex which works with next rules:</p><ul><li><p class="paragraph"><a href="acquire-read.html">acquireRead</a> require to <a href="write-mutex.html">writeMutex</a> be free. Then it will take one lock from <a href="read-semaphore.html">readSemaphore</a></p></li><li><p class="paragraph"><a href="release-read.html">releaseRead</a> will just free up one permit in <a href="read-semaphore.html">readSemaphore</a></p></li><li><p class="paragraph"><a href="lock-write.html">lockWrite</a> will lock <a href="write-mutex.html">writeMutex</a> and then await while all <a href="read-semaphore.html">readSemaphore</a> will be freed</p></li><li><p class="paragraph"><a href="unlock-write.html">unlockWrite</a> will just unlock <a href="write-mutex.html">writeMutex</a></p></li></ul></div></div> | ||||
|     <div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":micro_utils.dokka:dokkaHtml/commonMain"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">SmartRWLocker</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">readPermits<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html">Int</a><span class="token operator"> = </span>Int.MAX_VALUE<span class="token punctuation">, </span></span><span class="parameter ">writeIsLocked<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">false</span></span></span><span class="token punctuation">)</span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/InsanusMokrassar/MicroUtils/blob/master//coroutines/src/commonMain/kotlin/dev/inmo/micro_utils/coroutines/SmartRWLocker.kt#L15">source</a>)</span></span></div><p class="paragraph">Composite mutex which works with next rules:</p><ul><li><p class="paragraph"><a href="acquire-read.html">acquireRead</a> require to <a href="write-mutex.html">writeMutex</a> be free. Then it will take one lock from <a href="read-semaphore.html">readSemaphore</a></p></li><li><p class="paragraph"><a href="release-read.html">releaseRead</a> will just free up one permit in <a href="read-semaphore.html">readSemaphore</a></p></li><li><p class="paragraph"><a href="lock-write.html">lockWrite</a> will lock <a href="write-mutex.html">writeMutex</a> and then await while all <a href="read-semaphore.html">readSemaphore</a> will be freed</p></li><li><p class="paragraph"><a href="unlock-write.html">unlockWrite</a> will just unlock <a href="write-mutex.html">writeMutex</a></p></li></ul></div></div> | ||||
|   </div> | ||||
|   <div class="tabbedcontent"> | ||||
|     <div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button><button class="section-tab" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION,EXTENSION_PROPERTY,EXTENSION_FUNCTION">Members & Extensions</button></div> | ||||
| @@ -248,7 +255,8 @@ | ||||
|                 class="pull-right"><span>Generated by </span><a | ||||
|                 href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span> | ||||
|       </div> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user