Problem with multiple threads accessing the same Image

I'm trying to draw into one Image from multiple threads. It works fine for a while, but then suddenly, the image stops updating. Threads are still running but the image won't update. I'm using doublebuffering and threads are simply drawing counters into Image with different speed.
It seems like the Image gets deadlocked or something. Anyone have any idea what's behind this behavior or perhaps better solution to do such thing.
Any help will be appreciated.

Sorry Kglad, I didn't mean to be rude. With "No coding
errors" I meant the animation itself runs with no errors. I'm sure
you could run the 20 instances with no freezing (that's why I put
the post :) ) But I'm affraid it is an animation for a client, so I
cannot distribute the code.
Perhaps I didnt explain the situation clearly enough (in part
because of my poor english...).-
- By 20 instances I mean 20 separated embedded objects in the
html
- The animation is relatively simple. A turned on candle, in
each cycle I calculate the next position of the flame (that
oscilates from left to right). The flame is composed by 4
concentric gradients. There is NO loops, only an 'onEnterFrame'
function refreshing the flame each time.
- It's true that I got plenty variables at the _root level.
If that could be the problem, how can I workaround it?
- It is my first time trying to embed so many objects at the
same time too. No idea if the problem could be the way I embed the
object from the html :(
- The only thing I can guess is that when a cycle of one of
the object is running, the other 19 objects must wait their turn.
That would explain why the more instances I run, the worst results
I get. In that case, I wonder if there's a way to run them in a
kind of asynchronous mode, just guessing...
Any other comment would be appreciated. Anyway, thanks a lot
everybody for your colaboration.

Similar Messages

  • Multiple threads access the same method.

    Hello,
    I have been trying for a long time to find out multiple threads access the shared data.
    I have written a sample code, there I my intention is that method has to be accessed
    onlny one thread at a time., mean one thread finished the job, then next thread can
    access the shared source. But for this code I am not getting the desired out put what I want. But if I am using synchronized block I am getting the output. Please correct where I got mistake. Please see my code.
    public class TestThread implements Runnable {
         Shared r;
         public TestThread() {
              r = new Shared();
         public static void main(String args[]) {
              Thread t1 = new Thread(new TestThread());
              Thread t2 = new Thread(new TestThread());
              t1.setName("A");
              t2.setName("B");
              t1.start();
              t2.start();
          * (non-Javadoc)
          * @see java.lang.Runnable#run()
         @Override
         public void run() {
              // TODO Auto-generated method stub
              r.count();
    class Shared {
         public synchronized void count() {
              String name = Thread.currentThread().getName();
              System.out.println(name + ":accessed...");
              try {
                   for (int i = 0; i < 5; i++) {
                        System.out.println(name + ": " + i);
              } catch (Exception e) {
                   // TODO: handle exception
    }Thanks
    Bhanu lakshmi.

    It depends on what you synchronize. Non-static methods synchronize on the object, so if you're using several objects, you'll be able to call each from their own thread.
    Make your method synchronized or use only a single object and see the difference.

  • Problems with multiple connections in the same transaction

    Hi all !
              I'm have two questions regarding the way weblogic handles multiple
              connections.
              1) first, I don't understand why weblogic always create a new Managed
              Connection when I'm asking for 2 connection handles on the same connection
              factory and with the same connectionRequestInfo. Isn't it supposed to share
              connections ?
              For instance, the following snippet of code results in the creation of 2
              managed connections:
              ConnHandle conn1 = myCF.getConnection(myRequInfo);
              ConnHandle conn2 = myCF.getConnection(myRequInfo);
              The class corresponding to myRequInfo does implement the equals and hash
              method, so that weblogic's connection manager could use them to check that
              the queried connections are the same, and thus could share a single
              ManagedConnection between multiple connection handles. Apparantly it does
              not do that...
              2) OK, I just let weblogic create the 2 managed connections, but... My use
              of the connections is as part of a transaction. Here is what happens:
              ConnHandle conn1 = myCF.getConnection(myRequInfo);
              // a new managedConn1 is instanciated. the following happens (just a
              description)
              // xar1 = managedConn1.getXAResource()
              // xar1.start(NOFLAGS)
              // I use the conn1 handle
              conn1.close();
              //xar1.end(SUSPEND)
              ConnHandle conn2 = myCF.getConnection(myRequiInfo);
              // a new managed connection managedConn2 is instanciated.
              // xar2 = managedConn2.getXAResource();
              // xar2.start(RESUME)
              // I use conn2 handle
              conn2.close();
              // xar2.end(SUSPEND);
              // my bean returns from the remote invocation
              // the client of the bean asks to commit (using UerTransaction.commit on the
              client side)
              // xar2.end(SUCCESS)
              // xar2.commit(onePhase=true);
              // managedConn2.cleanup();
              And that's all. So, as one can see, managedConn1.cleanup was never called.
              When looking in the weblogic console, I can see that I have one connection
              with 0 handle and one with 1 handle, deemed as still being in a transaction.
              So, the conenction manager apparantly loses a managed connection during the
              transaction. And it's very very bad because after a couple of transactions,
              I'm running out of managed connections (I had set a limit of 10).
              Any one has seen such a weird behavior ? Is this a problem on my side, or
              weblogic's ? Thanks for your help.
              Sylvain
              

              I ran another test. This time I have a bean that makes use of a connector
              once per method invocation. The bean method invoked is "sayHello" and it
              gets a connection to the EIS, perform an operation on it and release it. The
              connector I developed uses XA transactions.
              My test client just calls 3 times myBean.sayHello().
              I can distinguish two cases:
              1) first, the client doesn't do transaction demarcation. In this case, since
              the sayHello method is marked as requiring transaction, the folowing happens
              in the bean:
              // **** first invocation of the bean
              connHandle = myCF.getConnection();
              // managedConn1 is instanciated
              // xar1 = managedConn1.getXAResource()
              // xar1.start(NOFLAGS);
              // managedConn1.getConnection gives a connection handle
              connHandle.doSomeWork();
              connHandle.close()
              // xar1.end(SUCCESS);
              // the bean returns from its invocation
              // xar1.commit(onePhase=true)
              // managedConn1.cleanup()
              // **** second invocation of the bean
              connHandle = myCF.getConnection();
              // managedConnectionFactory.matchManagedConnection is called. It returns the
              managed connection (managedConn1) that is in the passed set
              // xar1 = managedConn1.getXAResource()
              // xar1.start(NOFLAGS);
              // managedConn1.getConnection gives a connection handle
              connHandle.doSomeWork();
              connHandle.close
              // xar1.end(SUCCESS);
              // the bean returns from its invocation
              // xar1.commit(onePhase=true)
              // managedConn1.cleanup()
              // **** third invocation of the bean
              connHandle = myCF.getConnection();
              // managedConnectionFactory.matchManagedConnection is called. It returns the
              managed connection (managedConn1) that is in the passed set
              // xar1 = managedConn1.getXAResource()
              // xar1.start(NOFLAGS);
              // managedConn1.getConnection gives a connection handle
              connHandle.doSomeWork();
              connHandle.close
              // xar1.end(SUCCESS);
              // the bean returns from its invocation
              // xar1.commit(onePhase=true)
              // managedConn1.cleanup()
              2) second case : the client performs transaction demarcation. In that case,
              the connection manager instanciates 3 managed connections, calls start/end
              on each XAResource corresponding to each managed connection, calls commit
              once, but also calls cleanup only once, leaving 2 lost managed connections
              The client looks like this:
              UserTransaction utx = context.lookup("javax/transaction/UserTransaction");
              utx.begin();
              MyBean myBean = ctx.lookup(".......");
              myBean.sayHello();
              myBean.sayHello();
              myBean.sayHello();
              utx.commit();
              on the server the following happens:
              // **** first invocation of the bean
              connHandle = myCF.getConnection();
              // managedConn1 is instanciated
              // xar1 = managedConn1.getXAResource()
              // xar1.start(NOFLAGS);
              // managedConn1.getConnection gives a connection handle
              connHandle.doSomeWork();
              connHandle.close()
              // xar1.end(SUSPEND);
              // the bean returns from its invocation
              // **** second invocation of the bean
              connHandle = myCF.getConnection();
              // managedConn2 is instanciated
              // xar2 = managedConn2.getXAResource()
              // xar1.isSameRM(xar2) is called. returns true
              // xar2.start(RESUME);
              // managedConn2.getConnection gives a connection handle
              connHandle.doSomeWork();
              connHandle.close()
              // xar2.end(SUSPEND);
              // the bean returns from its invocation
              // **** third invocation of the bean
              connHandle = myCF.getConnection();
              // managedConn3 is instanciated
              // xar3 = managedConn3.getXAResource()
              // xar2.isSameRM(xar3) is called. returns true
              // xar3.start(RESUME);
              // managedConn3.getConnection gives a connection handle
              connHandle.doSomeWork();
              connHandle.close()
              // xar3.end(SUSPEND);
              // the bean returns from its invocation
              // the client invokes commit on the UserTransaction
              // xar3.end(SUCCESS);
              // xar3.commit(onephase = true);
              // managedConn3.cleanup();
              And so, managedConn1 and managedConn2 got lost in the way...
              What's more puzzling, it's that when monitoring my connector with the
              console, I can see that there are 3 connections. 2 declared as still having
              one handle used and being in transaction, and one not in transaction and
              with 0 active handle. BUT when monitoring the JTA part of the server, I can
              see that there has been 1 transaction that committed, and no connection is
              "in flight" as the console says. So, on one side the console says 2 managed
              connections are still part of a transaction while on the other it says that
              no transactions are currently in flight.
              Thanks for any kind of help on this very bizarre behavior.
              Sylvain
              

  • Problem with multiple .swf in the same page

    Hi everybody,
    I got a small animation written in actionscript 2.0. I need
    to load it several times in a webpage (about 20 instances), but
    seems to be too many work and the web browser freezes.
    Anyway, it's a relatively simple script (not complex
    arithmetics per cycle, although two or three color gradient
    refreshing), so I think the problem could be the fact of having so
    many instances running at the same time...
    Is there any way to fix this problem without reducing the
    quality of the animation?
    Thanks a lot!

    Sorry Kglad, I didn't mean to be rude. With "No coding
    errors" I meant the animation itself runs with no errors. I'm sure
    you could run the 20 instances with no freezing (that's why I put
    the post :) ) But I'm affraid it is an animation for a client, so I
    cannot distribute the code.
    Perhaps I didnt explain the situation clearly enough (in part
    because of my poor english...).-
    - By 20 instances I mean 20 separated embedded objects in the
    html
    - The animation is relatively simple. A turned on candle, in
    each cycle I calculate the next position of the flame (that
    oscilates from left to right). The flame is composed by 4
    concentric gradients. There is NO loops, only an 'onEnterFrame'
    function refreshing the flame each time.
    - It's true that I got plenty variables at the _root level.
    If that could be the problem, how can I workaround it?
    - It is my first time trying to embed so many objects at the
    same time too. No idea if the problem could be the way I embed the
    object from the html :(
    - The only thing I can guess is that when a cycle of one of
    the object is running, the other 19 objects must wait their turn.
    That would explain why the more instances I run, the worst results
    I get. In that case, I wonder if there's a way to run them in a
    kind of asynchronous mode, just guessing...
    Any other comment would be appreciated. Anyway, thanks a lot
    everybody for your colaboration.

  • Problem with Multiple Versions of the Same Activex

    Hi,
    I Installed some "ABC" Activex 9.5 version and 10.1 version in the system.
    I have ASP.net webpage which should use only 9.5 version of Activex.  But by default 10.1 version is active and invoking by webpage.
    Is there any way to enforce from webpage to use only 9.5 version of Activex?
    Please let me know if you need more details.
    Thanks & Regards,

    Hi,
    Have you tried to uninstall this Activex in Manage add-on, then install the 9.5 version? Please have a try.
    Roger Lu
    TechNet Community Support

  • Can I combine multiple threads from the same contact in iMessage?

    iMessage displays multiple threads for the same contact.  Its very confusing and has resulted in lost messages.  I've tried changing a number of settings but to no avail.  Seems to require everyone in my contact list to eliminate all their email addresses in iMessage.
    Begs the question why does iMessage even need this information?  Worse, why does it suck it into its settings by default.  The directory server should only require a valid Apple ID (associated with the users' devices)  in order to direct an iMessage between two contacts.

    Thanks for the reply, appreciate your input.  I did find another way of doing it and that is to highlight the first e-mail, hold down the shift key and click on the last one.  That highlights them all and then they can all be deleted.  Your ideas also work of course and I thank you for that.  Cheers.

  • How to manage multiple sizes of the same image?

    I recently took up LightRoom for all the good things it does. One of the things I need to do, however, is to create and manage multiple sizes of the same image needed for different purposes. I always found this cumbersome. I totally expected that the LR library would offer a solution for this but I looked and I didn't see anything. Sure you can export and resize in the process but then you're on your own. Am I missing something? Isn't there a better way? What does Adobe have in mind for best practices and how do you handle this?

    I can't speak for 99jon, but when I need multiple sizes, I export at the desired sizes, and then make use of the exported photos (upload, e-mail, whatever) and then delete the exports. Thus, there's really no need for me to keep track of the photo at this specific size, knowing that if I ever need it again -- unlikely -- I can regenerate it with the export pre-set, so I put no effort (zero!) into keeping track of photos at different sizes.
    The idea of adding it back into the catalog doesn't get me excited, and I would advise against it. I don't need this, and I don't see the benefit of keeping this particular size export for the long-term. As I said, I can always recreate it — but maybe you have such a need to keep these exports long-term and recreating it at a later point in time doesn't meet your needs? Can you explain?
    By the way, you can't resize a virtual copy, so that won't work here. The only time you can resize is on export.

  • What happens when multiple users access the same servlet?

    Do the users share all the same resources? Or is a new process generated for each user? I have a servlet that builds a string to return to the user and I only have myself to test, so I can't really see what happens when many users access the servlet. Is there a possibility that the string will get screwed up, like when dealing with multiple threads, or do all the users get their own resources and I don't have to worry about that?

    huh? if you can point a test servlet at it, you can point a browser at it (even if the servlet does not serve html it will run)
    try pasting the servlet URL into a web browser
    refreshing multiple browsers repeatedly could provide a manual test

  • How do I relink multiple instances of the same image, in Illustrator CC?

    Is there a feature, like InDesign, where links automatically relink if they're in the same folder?
    Currently I have to search through the file structure multiple times even if the linked image is the same.
    Surely Illustrator should relink all instances of the same image and give the option search for any additional missing links in the same folder?
    I'd love to be pointed in the right direction, or if anyone has a script they've written to solve the problem, do let me know.
    Cheers

    try the script (version 3) in this post,
    Remember last folder location lost with Mac Lion updates

  • Multiple users accessing the same server.

    Ok here is my issue, about 2 months ago I started having issues with Filesharing on my 2012 Mac Mini running Lion server (current update). We have 3 users that VPN into our conpany network and usually access the same folder, 2 months ago they started conflicting with each other. When one VPNs into the network and connects to the server they are fine, if the second one connects to the network they are fine but if the second one tries to access the fileshare they knock the second one off the server. The first one's connection eventually hangs and they have to completely disconnect from the VPN. I am wondering if this was caused by a patch or if there is something else going on. I have tried to reboot the server and checked the logs for anything but I am not seeing what may be causing this. I have restarted the Filesharing in the Server app and still get the same problem, the users are connecting via local credentials to the server. I don't think it is a password issue since either user can log in and access as long as another user doesn't so I am not sure what the issue could be.
    any help appriciated,
    josh

    By 'standard record locking system' do you mean there is nothing I need to do programatically? No block level properties to change?
    So you are saying this is just the way it always works. So as soon as one of our call center agents opens a record all I have to do is create a pending update to any field?
    But won't another user be able to open the form and just query that record not knowing another user has it open?

  • Prevent multiple users accessing the same form

    hi,
    i am working in forms
    i have a requirement like this
    if more than one user are using the same form and try to access the same record then the second user should not be able to do transaction
    he should be popped up with a msg saying that other user is working on it
    can any one suggest how to do this in my form
    thanks in advance
    selvaraj s

    That is pretty much exactly the way Forms works automatically.
    Two users can use the same form, and can even display the same data record. One of the users can make changes to the record -- Forms locks the row upon the FIRST keystroke in the first field the user begins to change.
    Once the row is locked, the second user is free to look at the record, and won't even know if another user has begun making changes. However, if second user tries to change even one field in the record, Forms pops up the message, "Could not reserve record (2 tries). Keep trying? Yes / No"
    There are also protections so if the first user actually changes the row and commits, then the second user tries to make a change. Forms will automatically detect whether changes were made, and if so, will undo the change and issue the message, "FRM-40654: Record has been updated by another user. Re-query to see change."
    The above automatic processing works very nicely. If it will not work for you, then what is it you need?

  • Can multiple threads share the same cursor in berkeley db java edition?

    We use berkeley db to store our path computation results. We now have two threads which need to retrieve records from database. Specifically, the first thread accesses the database from the very beginning and read a certain number of records. Then, the second thread needs to access the database and read the rest records starting from the position where the cursor stops in the first thread. But, now, I cannot let these two threads share the same cursor. So, I have to open the database separately in two threads and use individual cursor for each thread. This means I have to in the second thread let the cursor skip the first certain number of records and then read the rest records. However, in this way, it is a waste of time letting the second thread skip a certain of records. It will be ideal for us that the second thread can start reading the record just from the place where the first thread stops. Actually, I have tried using transactional cursor and wanted to let the two threads share the same transactional cursor. But it seems that this didn't work.
    Can anyone give any suggestion? Thank you so much!
    sgao

    If your question is really about using the BDB Java Edition product please post to the JE forum:
    Berkeley DB Java Edition
    If your question is about using the Java API of the BDB (C-based) product, then this is the correct forum.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Multiple User Accessing the same record issue

    I am planning to design an app where we have the following use case requirement.
    If a user who is logged into the system is accessing a record(plan in this case) anyone else who is logged into the system at the same time should be locked out of that same plan but should still be able to access other plans in the system. A plan has many things associated with it so the 2nd user should be locked out of everything associated to the plan being accessed by the first user.
    What is the best way to implement this at the application or the database level?
    Here are some options we have been bouncing around.
    1. When the first user logs in and accesses the first plan we lock the plan at the app level using a singleton class which has one and only one instance on the app server. The plan_id can be put as an entry into a hashtable which can be in the session and is created if one does not exist. When the 2nd user tries to access the same plan, since the plan_id is still in the hashtable he would be locked out. However we somehow need to timeout the first user after 30 mts of inactivity or so so that others can access the plan and are not locked out for ever if the first user walks away from his PC or does not close his browser, thus keeping his session alive indefinitely.
    2. In the database in the plan table we add a column for 'locked'. When the first entry is created in the plan table locked column is marked as 'yes' or 1 and when the user closes the browser we use some javascript to trigger an event which changes that 'yes' or 1 to 'no' or 0 thus unlocking the plan. However the big issue we see in this concept is that we will have to put a javascript onUnload method in all jsp pages in the app because the user could be anywhere in the app after starting his plan access after login.
    Conceptually the 2 options are the same but one is done at the app whereas the other is at the database level.
    Is there a better way to handle this scenario using transactions or some other technological option.
    Thanks

    Another solution involving no modification of the database structure:
    As soon as a user want to access a plan, try to UPDATE the plan record... if it fails, the record was locked
    by another user before. When the user has finished with the plan, you can COMMIT or ROLLBACK the changes, which will free the lock for other users.
    An advantage of this solution is that if program crashes unexpectedly, there will automatically be a ROLLBACK.
    Of course, you need a transaction for this... and perhaps more if you want to separate the 'locking transaction' (virtual update just for restricting access) from the 'operating transaction' (in which you will
    do the DB stuff: inserts, updates, deletes, etc.)
    Hope this helped,
    Regards.

  • Installing multiple instances accessing the same database

    Hi,
    I want to install two different instances of Oracle 10g in two different machines which will access the same database which will be stored in the shared storage.
    Is it possible to install them without installing RAC? The instances will be one active and the other passive, so the services will be up in one server and down in the other and the switching (shutting down one server and starting up the other) will be manual.
    Two servers will be running Linux and clustered in Linux level.
    Does Oracle offers this solution without installing Clusterware software?
    Thank you

    > The instances will be one active and the other passive, so the services will be up in one server and down in
    the other and the switching (shutting down one server and starting up the other) will be manual
    Missed this part as I was thinking proper cluster and RAC.
    This is neither. Yes, this can be done using two servers and shared storage.
    Is it a good idea? Not really. As this configuration does not provide redundancy at physical database level. You loose that storage.. bye-bye database. Does not matter whether you have a 100 backup servers that can be used.
    Thus the business reasons that you are trying to meet with this config have to be clarified and expectations determined.
    Separate servers using Data Guard will be a far more superior solution in many respects.

  • Lightroom CC issues with multiple export at the same time

    Back before Lightroom updated to the CC version, I was able to use export presets to send 4 different versions of the photos I'm working on at the same time (A Full Size for client at certain size, full size for myself, web-sized with watermark and a thumbnail). Since updating to the CC version, I'm only able to start the export process on two of these versions before the system simply becomes crippled and I cannot even navigate through Lightroom without it chugging along.
    For reference, I'm running a 2014 rMBP with 16GB of RAM, LR is the only app open at the time and it's showing that I have roughly 6GB of RAM free when attempting this export.
    TL;DR: LR5 worked wiht multiple exports at the same time, but LRCC now chugs after 2 exports are started

    Re: "Selecting video in Messages, now starts Face time for video. Face time is one to one only."
    Apple "Messages" supports two different types of video conferencing. It's become more than a little confusing. If you (or the person on the other end) ONLY have accounts set up for Apple's "iMessage" service (associated with your Apple ID and "iCloud") you may see the video symbol, but when you click on it you will be connected via FaceTime which is limited a 1-to-1 video conference.
    However, if you have set up an AIM account in Messages (you may already have an AIM account ID if you once used iChat for video, audio and screensharing) and the person at the other end also has an AIM account you will be connected via AIM and will be able to do screen sharing and multi-person video conferences just like the old iChat, i.e. you'll have iChat Theater features, up to 4-way conferencing, etc.
    It can get very confusing if, for example, you've signed up for AIM using a .me or .cloud email address. But once you have it set up and learn to recognise the way Messages switches between AIM and iMessage all the old iChat features work just fine in Messages.

Maybe you are looking for

  • Converting DVD videos to iPod format for iPod 30GB 5th generation?

    I would like to convert DVDS to iPod format so I can view them on my new iPod? Can someone help me with a how to list? I have located many PC or windows applications for making the conversion ( free downloads) but what do we use if we are mac users (

  • A table in a table... ?

    Let's say I have a table tab (x number, y number) All I want is this table to be the column of another table, which table will be the column of another table.... Thus we will have a table within a table, within a table, within a table (9 times). I do

  • Import musik to itunes

    Hi Team, i do need support for my iPhone 4s IOS 6.0 i'm using a new notebook, iTunes already installed. 1. i want to import the musik from my iphone to iTunes, my mediathek named "klaus" 2. i want to synchronize my iPhone contacts with my goolge acco

  • Airport Extreme Shows SOLID Amber light only after Powerup

    This is a relatively new Airport Extreme (802.11n), bought from the Apple store. This morning, all of a sudden I had no internet access. I finally determined that it wasn't the cable or the modem, but the base station. I have tried powering it down (

  • Iwlist scan fails when there too many wireless networks

    $ sudo iwlist wlan0 scan print_scanning_info: Allocation failed wicd uses iwlist to scan networks but iwlist fails when there are too many networks. This seems to be an old issue.  Is there a fix for this? Thanks.