https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/105678&feed=atom&action=history
Microsoft KB Archive/105678 - Revision history
2024-03-28T15:45:10Z
Revision history for this page on the wiki
MediaWiki 1.39.3
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/105678&diff=45657&oldid=prev
X010: 1 revision imported: importing part 2
2020-07-16T20:58:01Z
<p>1 revision imported: importing part 2</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<tr class="diff-title" lang="en-GB">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:58, 16 July 2020</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en-GB"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>
X010
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/105678&diff=45656&oldid=prev
X010: stage2
2020-07-16T20:22:54Z
<p>stage2</p>
<p><b>New page</b></p><div>{|<br />
|width="100%"|<br />
== INFO: Critical Sections Versus Mutexes ==<br />
|}<br />
<br />
Q105678<br />
<br />
<br />
-----<br />
<br />
The information in this article applies to:<br /><br />
<br />
<br />
* Microsoft Win32 Application Programming Interface (API), included with:<br />
** Microsoft Windows NT Server versions 3.5, 3.51, 4.0<br />
** Microsoft Windows NT Workstation versions 3.5, 3.51, 4.0<br />
** Microsoft Windows 95<br />
** the operating system: Microsoft Windows 2000<br />
<br />
<br />
-----<br />
<br />
<br /><br />
<br />
<br />
== SUMMARY ==<br />
<br />
Critical sections and mutexes provide synchronization that is very similar, except that critical sections can be used only by the threads of a single process. There are two areas to consider when choosing which method to use within a single process:<br />
<br />
<ol><br />
<li><p>Speed. The Synchronization overview says the following about critical sections:</p><br />
<blockquote>... critical section objects provide a slightly faster, more efficient mechanism for mutual-exclusion synchronization.</blockquote><br />
<p>Critical sections use a processor-specific test and set instruction to determine mutual exclusion.</p></li><br />
<li><p>Deadlock. The Synchronization overview says the following about mutexes:</p><br />
<blockquote>If a thread terminates without releasing its ownership of a mutex object, the mutex is considered to be abandoned. A waiting thread can acquire ownership of an abandoned mutex, but the wait function's return value indicates that the mutex is abandoned.</blockquote><br />
<p>WaitForSingleObject() will return WAIT_ABANDONED for a mutex that has been abandoned. However, the resource that the mutex is protecting is left in an unknown state.<br /><br />
<br /><br />
There is no way to tell whether a critical section has been abandoned.</p></li></ol><br />
<br />
Additional query words: 3.50<br />
<br />
Keywords : kbKernBase kbOSWin2000 kbThread kbThreadSync kbDSupport kbGrpDSKernBase<br /><br />
Issue type : kbinfo<br /><br />
Technology : kbAudDeveloper kbWin32sSearch kbWin32API<br />
<br />
{|<br />
|width="100%"| <br /><br />
Last Reviewed: December 16, 2000<br /><br />
[http://www.microsoft.com/misc/cpyright.htm © 2001 Microsoft Corporation. All rights reserved. Terms of Use.]<br /><br />
|}</div>
X010