Thank you, I see what you meant now.

Yes, it seems all atomic operations in one place is handled with an
exclusive lock. So as a workaround will something like this work,

In your class having a boolean variable, say *inUse *which is initially *
false*. Then you will implement your method without specifying as an atomic
method, say *m( )*
*
*
Now having an entry and exit atomic sections like,

when (! inUse) {
  inUse = true;
}

m( ); // the time consuming operation
inUse = false;

Thank you,
Saliya






On Fri, Nov 16, 2012 at 10:59 AM, LEONID ILYEVSKY
<leonidilyev...@yahoo.com>wrote:

> 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
>
>
>


-- 
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

Reply via email to