Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a22c1d4f9a624af4

Jump to content

Talk:Reentrant mutex

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia
Latest comment: 11 years ago by Qwertyus in topic plain english

"spin-lock types of structures that allow multi-core programming, where mutexes and condition variables fail". What is this supposed to mean? How do mutexes and condition variables fail at multi-core programming, and how do spin-locks allow it? Spinlocks are just a potentially more efficient mutex in some situations.. — Preceding unsigned comment added by 66.151.103.8 (talk) 16:46, 29 February 2012 (UTC)Reply

how is busy waiting ever more efficient? Tokenseeker (talk) 22:50, 14 July 2015 (UTC)Reply

plain english

[edit]

don't remove the plain english example. this article has been tagged as too technical, and the provided pseudocode in Motivation does not offer a breakdown of what the reentrant mutex does. Tokenseeker (talk) 22:48, 14 July 2015 (UTC)Reply

The English example doesn't explain much either. I found it far too dense. Do we need a more application-oriented example, say, something with bank accounts? E.g., start with
class Account
    savings, current : integer

    method deposit_savings(amount : integer)
        deposit_current(-amount)
        deposit_savings(amount)

    method deposit_current(amount : integer)
        current := current + amount

    method deposit_savings(amount : integer)
        savings := savings + amount
Then add a mutex that is locked by all three methods and observe the immediate deadlock in deposit_savings? QVVERTYVS (hm?) 06:06, 16 July 2015 (UTC)Reply
This does not explain the logic behind the actual locking mechanism in plain English. This is only an implementation of an existing mechanism. It's black box. Tokenseeker (talk) 22:04, 18 July 2015 (UTC)Reply
I could see the two sections being merged, with the code having liberal comments roughly assimilated from the plain English example. Tokenseeker (talk) 22:08, 18 July 2015 (UTC)Reply
I wasn't suggesting just posting that pseudocode and having the reader figure it out. I'll see if I have time to write some text. QVVERTYVS (hm?) 12:26, 20 July 2015 (UTC)Reply

Citation needed

[edit]

TokenSeeker wants a talk page discussion of the {{citation needed}} tag in the "Software emulation" section. Although it's not a requirement to start one when placing the tag, I'll comply. As I stated in the edit summary, it is by no means obvious that the given implementation is common, or even correct. QVVERTYVS (hm?) 12:54, 15 July 2015 (UTC)Reply

I would argue that the common practice of using lock files for file access is analogous. Tokenseeker (talk) 22:02, 18 July 2015 (UTC)Reply