[IronPython] Converting C# to Python ... the lock() keyword?
Sandy Walsh
swalsh at impathnetworks.com
Mon Jan 11 19:31:14 CET 2010
Thanks for the prompt answer Dino.
The lock is defined in a C# library and I have to access it ... I assume
Monitor and threading.Lock() are different implementations
(specifically, you can't mix and match)?
I can live with the Monitor for now I think.
Thanks again!
-Sandy
On 1/11/2010 2:23 PM, Dino Viehland wrote:
> If you really want to use .NET monitors you can code it up as a try/finally:
>
> Monitor.Enter(m_object)
> try:
> if ...:
> ...
> finally:
> Monitor.Exit(m_object)
>
> If you'd like to do a slightly more Pythonic lock you could do:
>
> import threading
>
> x = threading.Lock()
> with x:
> pass
>
> Or you could combine the two approaches:
>
> from System.Threading import Monitor
> class ObjectLocker(object):
> def __init__(self, obj):
> self.obj = obj
> def __enter__(self):
> Monitor.Enter(self.obj)
> def __exit__(self, *args):
> Monitor.Exit(self.obj)
>
> with ObjectLocker(object()):
> pass
>
>
>
>
>> -----Original Message-----
>> From: users-bounces at lists.ironpython.com [mailto:users-
>> bounces at lists.ironpython.com] On Behalf Of Sandy Walsh
>> Sent: Monday, January 11, 2010 9:43 AM
>> To: users at lists.ironpython.com
>> Subject: [IronPython] Converting C# to Python ... the lock() keyword?
>>
>> Hi,
>>
>> I'm converting a C# program to IronPython and running into the C# lock()
>> command ... what is the equivalent operation in IronPython?
>>
>> The C# is like:
>>
>> lock(m_object)
>> if (...)
>> {
>> ...
>> }
>>
>> Thanks!
>> -Sandy
>>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: swalsh.vcf
Type: text/x-vcard
Size: 313 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100111/21a4a916/attachment.vcf>
More information about the Ironpython-users
mailing list