Saliya,
Thanks for your reply.
Let me clarify my question. This situation, I believe, is pretty common
actually.
So I have multiple objects of the same class. The methods are made synchronized
because they update the objects' data based on the previous values and some
information read from, let say, files or database. Such operation may take some
time, and it is important that two different instances may be processed in
parallel.
On the other hand, if two threads try to update the same object, then only one
at a time can be allowed, the other thread(s) must wait.
So, in Java this is achieved simply by declaring methods synchronized, and then
I safely can have a pool of threads doing the work, efficiently utilizing
resources, and be sure that no data corruption happens.
I am reading now http://www.cs.rice.edu/~vs3/PDF/pmup06.pdf , and it says that
currently atomic behavior is implemented by an exclusive lock on the place.
This means that parallel operation as described in my java example will be
impossible in X10. I understand that this approach helps to make sure that
deadlock never happens.
However, real life applications may require more parallelizm. For example, the
classical textbook banking application. I withdraw my money from the ATM, at
the same time the back office application is trying to apply direct deposit to
my account. These operations must be syncronized, but operations on othe
client's accounts can be applied at the same time, they don't have to wait.
________________________________
From: Saliya Ekanayake <esal...@gmail.com>
To: LEONID ILYEVSKY <leonidilyev...@yahoo.com>; Mailing list for users of the
X10 programming language <x10-users@lists.sourceforge.net>
Sent: Friday, November 16, 2012 10:38 AM
Subject: Re: [X10-users] Atomic blocks
Hi Leonid,
In your java version, are the threads accessing a separate copy of your object?
If so it seems like it should work even without being a synchronized method.
Also, if you create multiple objects and access them from separate activities
in X10 they should not block and atomic may not make any difference as I
understand.
In fact, atomic usage is beneficial only when you have a critical section that
at a given time only one activity is allowed to be in (per place).
Hope this helps.
Thank you,
Saliya
On Fri, Nov 16, 2012 at 10:28 AM, LEONID ILYEVSKY <leonidilyev...@yahoo.com>
wrote:
Hi,
>
>
>I am new to X10, and I have a question about the atomic construct, maybe
>somebody can clarify it for me.
>
>
>Let say, in Java I have a class with some synchronized (on the object level)
>methods. If I have 100 such objects in memory, then 100 threads can
>simultaneously work on those objects without blocking each other.
>How you do the same thing in X10 (asuming the program is running in one
>place)? From the definition of the atomic block, it seems that if I translate
>Java syncronized methods to X10 atomic methods, then only one object at a time
>can be processed. Is my understanding correct?
>
>------------------------------------------------------------------------------
>Monitor your physical, virtual and cloud infrastructure from a single
>web console. Get in-depth insight into apps, servers, databases, vmware,
>SAP, cloud infrastructure, etc. Download 30-day Free Trial.
>Pricing starts from $795 for 25 servers or applications!
>http://p.sf.net/sfu/zoho_dev2dev_nov
>_______________________________________________
>X10-users mailing list
>X10-users@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/x10-users
>
>
--
Saliya Ekanayake
http://www.esaliya.blogspot.com
http://www.esaliya.wordpress.com
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users