Related articles |
---|
compiling locks/ monitors arnabde03@gmail.com (Arnab De) (2009-11-11) |
Re: compiling locks/ monitors felipeangriman@gmail.com (Felipe Angriman) (2009-11-13) |
Re: compiling locks/ monitors rogers.email@gmail.com (Ian Rogers) (2009-11-13) |
Re: compiling locks/ monitors andrew@tomazos.com (Andrew Tomazos) (2009-11-21) |
From: | Andrew Tomazos <andrew@tomazos.com> |
Newsgroups: | comp.compilers |
Date: | Sat, 21 Nov 2009 16:57:01 -0800 (PST) |
Organization: | Compilers Central |
References: | 09-11-037 |
Keywords: | parallel |
Posted-Date: | 27 Nov 2009 11:41:03 EST |
On Nov 11, 3:08 pm, Arnab De <arnabd...@gmail.com> wrote:
> Many modern high level languages like Java/ C# have locks/ monitors as
> language level features. Hardwares typically have lower level
> synchronization primitives like CAS. One can implement a spinlock
> using CAS, but it is bad for performance as it busy-waits for the lock
> to be released. Can anyone tell me how these locks/monitors are
> typically and efficiently compiled? Can you cite any paper on this?
In the Windows API there are CriticalSection objects:
http://msdn.microsoft.com/en-us/library/ms682530%28VS.85%29.aspx
and Mutex objects:
http://msdn.microsoft.com/en-us/library/ms684266%28VS.85%29.aspx
Under the POSIX API (implemented by NPTL under Linux) there are
mutexs:
https://computing.llnl.gov/tutorials/pthreads/#MutexOverview
I think maybe that the locks provided by Java and C# are just wrappers
for these system calls. I am not 100% sure though.
Regards,
Andrew.
--
Andrew Tomazos <andrew@tomazos.com> <http://www.tomazos.com>
Return to the
comp.compilers page.
Search the
comp.compilers archives again.