Thread Problem - Hanging Program

I have a loop that starts threads for each member of an array.
for(int i = 0; i < myList.length; i++){
myThread t = new myThread(myList);
t.start();
// Here the program just sits here even though everything is done.
Why if the loop has finished and the threads are done does it just hang? Do I have to do something else?

I have a loop that starts threads for each member of
an array.
for(int i = 0; i < myList.length; i++){
myThread t = new myThread(myList);
t.start();
// Here the program just sits here even though
everything is done.
Why if the loop has finished and the threads are done
does it just hang? Do I have to do something else?
What do you have after that comment to show that it is hanging there?
Can you give us the rest of the context that this statement is in?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • Problem with program hanging randomly on certain commands from win 7 pro client to SB Server

    Having a problem with program hanging randomly on certain commands from Win-7 Pro Client to SB Server Both 64-Bit
    Five other slower XP-Pro 32 Bit systems though they are older and slower systems do not seem to hang as readily if at all.
    It has been very frustrating as the Client-System, SB-Server and Program should work w/o any hitches, but this seems to work fine @ times and then hang randomly.
    Would appreciate any and all suggestions in assisting.... JimBAgde-MSS  

    You can try this, as I have had similar problems with another MS Access .MDB file and slow access before. This fixed my problem for me. On the slow computer, make sure the program is set to see the .mdb file via UNC path, not a mapped drive letter. ex.
    USE:  \\yourserver\shared\dental\file.mdb
    DO NOT: S:\\shared\dental\file.mdb
    hope this helps

  • MacBook Pro 2011 10.7.5 frequently hanging programs and freezing.

    For over a week my system has frequently been hanging all its programs and then spinning the beach ball of death when you try and click around or repeat actions. It happens always after it’s been woken up and then later too.
    -It sorts itself out but after about 5-10 minutes.
    -A couple of times I've woken it from sleep mode but the screen never wakes up, the light isn't snoozing anymore but it's all black. That never recovers and I have to force shut down.
    -Occasionally while it's hanging, the sound from a browser carries on even though the screen has frozen- within a few minutes that stops too.
    -I haven't made any significant changes recently and it's not associated with any particular program; it can happen through anything.
    -Here are the specs and more information:
    I'm usually running several programs but none with a really high activity usage. My activity monitor usually looks like this, it fluctuates, but never anything above 12-15%:
    I use a 1TB external hard drive to back up Time Machine, never had any problems with it.
    What I've tried:
    -I've run Disk Utility (Verify Disk and Verify Disk Permissions) on everything listed and it's found no problems (except on a disk I've ejected and still had problems since, see Changes below)
    e.g.
    -Checked Activity Monitor to check nothing's running like crazy.
    -I've run Sophos Anti-Virus software over everything and it's found nothing
    -Cleared the cache and emptied the trash
    -Restarted numerous times after applying any changes.
    -Look for MacKeeper or MacProtector but haven't got such malware.
    -Got rid of any Damaged Files from Devices: Macintosh HD and emptied trash
    -Deleted The Sims 2.app and all related folders (see below) and restarted (which never actually started so I had to force shutdown again and restart.
    - Installed and ran Memory Cleaner app, which freed up some memory. But problem still occuring.
    Any recent changes:
    Nothing major; racking my brains I can think of:
    -I've had iPhoto open more freqently than usual, but even when it's closed and after restarting I'm still getting the hanging programs
    -I had The Sims 2 disk in, and started the program once, it worked fine. When I was running Disk Utility it found an issue regarding an 'unused node', but it couldn't repair it. So I ejected the disk (which took a minute to respond), and have still had the problems after rebooting.
    -A month or so ago I had a significant problem on Disk Utility so I had to reinstall Mac OS X, Lion 10.7.5. But it has still worked fine since then until a few days ago.
    Please help!

    67 views and no replies yet. I'm just commenting to keep this on the board.

  • SQL query / thread problem!

    I have the following code. when the execute mkethod is called, an instance of TransactionRunner is created. within the run method of TransactionRunner an SQLQuery is executed. I want to return the result set when the query has been executed, how can I do this, at the moment it tries to return the resultSet before the thread has finished. any ideas? I hav tried using a boolean as a flag but it doesn't appear to work.
    public static ResultSet execute(String SQL, boolean rs)
    System.out.println("in execute, dbm") ;
    SQLStatement = SQL ;
    result = rs ;
    complete = false ;
    tr = dbm.new TransactionRunner(SQL) ;
    //SOME FORM OF INDICATION TO THE END OF SQL EXECUTION
    return resultSet ;
    class TransactionRunner implements Runnable
         public ResultSet rs ;
         private Thread queryThread ;
         public String SQLStatement ;
         public TransactionRunner(String SQL)
              SQLStatement = SQL ;
              queryThread = new Thread(this) ;
              queryThread.start() ;
         public void run()
              if (result == true)
                   executeQuery(SQLStatement) ;
                   complete = true;
              else
                   update(SQLStatement) ;
              }

    I am up against the same problem, but I believe that
    you could fire off a progress monitor during the
    thread task and have the thread return the ResultSet.If you're planning to use Swing, then yes, you do need to execute the command in a spawned thread, otherwise your event thread will hang. BUT, spawning a sub-thread from a Swing app is not equivalent to spawning one from a simple console app, because the Swing event thread will keep your process alive. Instead, I would suggest doing something like the following:
    1) In the ActionListener that invokes the query (may be hung off a menu item, or a button, depending on your app):
            public void actionPerformed(ActionEvent actionEvent)
                (new Thread(new MyQuery())).start();
                displayWaitIndication();
            }This method runs in the event thread, and spawns a sub-thread to run the query. It also displays some sort of wait indication, maybe a progress box or a WAIT_CURSOR (I prefer the wait cursor, as you can't accurately display the progress of a server-side operation).
    2) MyQuery implements Runnable:
            public void run()
                List data = // call something to perform DB op here
                SwingUtilities.invokeLater(new Runnable()
                    public void run()
                        mainWindow.refresh(data);
            }This may be a bit confusing, as it leaves a lot of stuff out. I've used "List" as the return from the database function; chances are that you'll actually implement something like MyResultSet. You don't want to use an actual java.sql.ResultSet, because it (may) perform(s) a client-server call to retrieve each row. So, you process the real result-set into a container object (List or whatever) in the sub-thread.
    Then, you pass that container object back to the display window, on the event thread. I've used a variable to access the display window; you may do things differently. The key thing is the use of SwingUtilities.invokeLater(), to perform the actual update on the event thread.
    To summarize:
    1) You initiate the action on the event-thread.
    2) You perform the action in a sub-thread, put the resuls into a container.
    3) You update your display on the event-thread, using SwingUtilities.invokeLater().

  • Kill of the hang program...

    Hi ..
    is there any way to kill off the hang program using java...
    lets say i have this code below..
    try{
    a.print();
    a.runPrint(); -------------> hang here and does not even throw exception
    System.out.println("hi");
    }catch(exception e)
    System.out.println("Hi there");
    What i want is if the method does not respond within some given time .. i will just kill it off and terminate the program.....
    What should i do to add some coding?? is it using Thread or somehting??
    Hopefully someone can give me example..
    Thanks....

    You cannot totally stop the blocking from occurring. You can gracefully try to end the thread. There must be some timeout for that process (though it could be hours or minutes). However, you could try something like:
    class Connector implements Runnable {
       private Connection connection;
       public void run() {
           connection = connect();  // blocks
       public boolean isConnected() {
          return (connection != null);
       public Connection getConnection() {
          return connection;
    class Caller {
       public Connection getConnection() throws IOException {
            Connector connector = new Connector();
            Thread thread = new Thread(connector);
            thread.start();
            Thread.sleep(1000);  // current thread, sleeps for 1 second
            if (connector.isConnected()) {
                 return connector.getConnection();
            Thread.sleep(10000);  // wait 10 more seconds
            if (connector.isConnected()) {
                 return connector.getConnection();
            throw new IOException("Unable to get connection");
    }You could modify the above using the Observer-Observable pattern (or use a simple call-back function) to notify the caller when the connection is available rather than waiting specific amounts of time.
    - Saish

  • Thread will hang if no http response from TP

    i found out 1 case that Oracle B2B thread will hang if it does not receive HTTP reponse from TP after posting messages to TP.
    we use Async MDN.
    example 1:
    i send ORDERS to TP and expect HTTP response to close the transaction but my TP failed to send HTTP response due to proxy problem. then that particular thread will remain like that forever and no timeout.
    example 2:
    i receive ORDERS from TP and send the MDN back to my TP, again the thread will hang forever if no HTTP response from TP.
    eventually all the thread will hang and no more messages can be process, then i have to restart the B2BService to clean all the hanged thread.

    Please get us the b2b.log. And, information like midtier shiphome (version) used also would help.
    If you are running it on linux, please recreate the scenario and get a thread dump. Here's the command,
    kill -3 <B2BServer process id>
    You could reach me at [email protected]
    Thanks,
    Sinkar

  • Sun Java System Web Server 6.1 SP3 service-j2ee threads problem

    Hi,
    Sorry my english.
    I'm an intermediate Java programmer and a newbie in
    the Sun's web servers world.
    I'm doing an evaluation of an web applicaction
    written in Java Servlets that is
    supposed to have a leaking threads problem. We use
    SunOS 5.9 (... sun4u sparc SUNW,UltraAX-i2) and
    JVM 1.5 Update 4 (the problem is presented too
    in SunOS 5.8 and JVM 1.4.2_04).
    We have seen, thanks to 'prstat' (PROCESS/NLWP) a
    increasing thread's growing in one of the process
    that correspond to our web server instance (I'm sure I'm
    looking the right process). I have checkout the source
    code and it seems like the app doesn't have threads
    problems. I have used the Netbeans Profiler and I see a
    high number of threads called service-j2ee-x that grows
    in congestion moments and never disappear.
    Anybody could help me with suggestions?
    Thank you very much.

    Elvin,
    Thankyou, yes I am unfamiliar with debugging Java apps. I got the web server Java stack trace and I have passed this on to the developer.
    The web server finally closes the socket connection after the total connections queued exceeds 4096.
    There are several hundred entries like this... waiting for monitor entry.. could be a deadlock somewhere?
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "service-j2ee-506" prio=5 tid=0x04b62a08 nid=0x17a waiting for monitor entry [dd74e000..dd74f770]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.util.JSDispenser.getConnResource(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - waiting to lock <0xe979b2b0> (a com.verity.search.util.JSDispenser)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.DocRead.getDoc(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.DocRead.getDoc(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.DocRead.docViewIntern(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.DocRead.docView(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at au.com.relevance.viewDoc.PdfXmlServlet.performRequest(PdfXmlServlet.java:120)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at au.com.relevance.viewDoc.PdfXmlServlet.doGet(PdfXmlServlet.java:141)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpServlet.java:787)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpServlet.java:908)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:771)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:322)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:209)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:161)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.iplanet.ias.web.WebContainer.service(WebContainer.java:580)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.iplanet.ias.web.WebContainer.service(WebContainer.java:580)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "StandardManager[highlight]" daemon prio=5 tid=0x000f3530 nid=0x1e waiting on condition [e15ff000..e15ffc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.threadSleep(StandardManager.java:800)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.run(StandardManager.java:859)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "WebappLoader[highlight]" daemon prio=5 tid=0x000f3328 nid=0x1d waiting on condition [e16ff000..e16ffc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.threadSleep(WebappLoader.java:1214)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.run(WebappLoader.java:1341)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "StandardManager[]" daemon prio=5 tid=0x000f2b08 nid=0x1c waiting on condition [e1b7f000..e1b7fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.threadSleep(StandardManager.java:800)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.run(StandardManager.java:859)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "WebappLoader[]" daemon prio=5 tid=0x000f2900 nid=0x1b waiting on condition [e1c7f000..e1c7fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.threadSleep(WebappLoader.java:1214)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.run(WebappLoader.java:1341)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "StandardManager[sitesearch]" daemon prio=5 tid=0x000f1cd0 nid=0x1a waiting on condition [e23ff000..e23ffc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.threadSleep(StandardManager.java:800)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.run(StandardManager.java:859)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "WebappLoader[sitesearch]" daemon prio=5 tid=0x000f1ac8 nid=0x19 waiting on condition [e24ff000..e24ffc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.threadSleep(WebappLoader.java:1214)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.run(WebappLoader.java:1341)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "StandardManager[search]" daemon prio=5 tid=0x000f0a88 nid=0x18 waiting on condition [e317f000..e317fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.threadSleep(StandardManager.java:800)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.run(StandardManager.java:859)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "Signal Dispatcher" daemon prio=10 tid=0x000ef840 nid=0x12 waiting on condition [0..0]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "Finalizer" daemon prio=8 tid=0x000ef638 nid=0x10 in Object.wait() [fa27f000..fa27fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Object.wait(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - waiting on <0xe917fb10> (a java.lang.ref.ReferenceQueue$Lock)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - locked <0xe917fb10> (a java.lang.ref.ReferenceQueue$Lock)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "Reference Handler" daemon prio=10 tid=0x000ef430 nid=0xf in Object.wait() [fa37f000..fa37fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Object.wait(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - waiting on <0xe917fb78> (a java.lang.ref.Reference$Lock)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Object.wait(Object.java:429)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - locked <0xe917fb78> (a java.lang.ref.Reference$Lock)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "main" prio=5 tid=0x000ee3f0 nid=0x1 runnable [0..ffbff200]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "VM Thread" prio=5 tid=0x004ee328 nid=0xe runnable
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "VM Periodic Task Thread" prio=10 tid=0x004ee5d0 nid=0x16 waiting on condition
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "Suspend Checker Thread" prio=10 tid=0x004ee548 nid=0x11 runnable
    [15/May/2006:22:15:10] failure ( 3196): HTTP3287: connection limit (4096) exceeded, closing socket

  • Cant syncronize! Threads problem

    Hello everybody,
    recently i posted a question(im new to threads) and it was asked immediately but now i have another
    type of problem.
    Please read here the initial post and the answer and please give me any ideas..
    Initial Post
    Hi everybody,i have this thread problem(i'm new to java and h
    ave no idea what exactly to do).
    Well,in my applet i have this action performed method
    that i imagine is in the event dispatch thread.
    This method calls as u see, two other methods of a class named CPU(.
    Note that fetch and execute are observed classes and my applet class
    is the observer.
    The problem is that during the execution of fetch() and execute(),
    inside these methods change some things and so they call notifyObservers(Object arg)
    passing to the applet the argument and so the applet updates some text components.
    But as you can immagine there is no time for the gui to update himself so i see nothing.
    So, my question is which of the methods need to be in a separate thread so to ensure
    visible results(component updating)?
    Perhaps,the update method needs to be invokedLater with SwingUtilities?
    Please give me an example code if possible.
    Here is the actionPerformed code(from the applet class) and the fetch method:
        void executeProgramButton_actionPerformed(ActionEvent e) {      
    int numInstr = this.machine.ram.segmentSize;       
    for (int i = 0; i < numInstr; i = i + 4) {           
    machine.cpu.fetch();           
    machine.cpu.execute();       
    /*The following method is in the CPU class
    fetch method:here the observedPC is the observable value
    that notifies the observer(the main applet)
    that does: pcTextField.setText(arg.toString());*/   
    public void fetchInstructionProgram() {       
    observedPC = Integer.toString(pc);       
    setChanged();       
    notifyObservers(observedPC);       
    instructions++;       
    instruction=readOperation(cache.instructionfetch,pc);       
    pc = pc + 4;    }
    Answer to initial post
    Author: stevejluke
    One way could be to put the content of the action performed method into a new thread, then use invokeLater in your Observers that cause GUI updates:
        void executeProgramButton_actionPerformed(ActionEvent e) {     
    new Thread()       {      
    public void run()        {         
    int numInstr = this.machine.ram.segmentSize;         
    for (int i = 0; i < numInstr; i = i + 4)           {           
    machine.cpu.fetch();           
    machine.cpu.execute();         
    }.start();    }
    // In your Observer    public void update(Observable o, Object arg)    {     
    SwingUtilities.invokeLater(new Runnable() {      
    public void run()        { 
    /* your GUI afecting code
    });[i]
    Or something like that.
    You might need to watch for synchronizing things
    He was right...GUI is responsive but the results...
    Well,let me describe the new problem.
    Here you cant see the method execute().
    The problem is a synchronization problem.
    Actually,what the two methods do is:fetch() updates the value of a long called instruction and execute() takes this value and do some things.Note also that the time the execute method needs to finish is not
    always the same.By that, i mean that it depends on the value of the instruction updated by fetch().
    By putting some System.outs before and after updating i realized that there are delays or sometimes
    i noticed that fetch() executes 2 times before execute() takes control.
    So,i created some synchronized private methods set and get to control access to these resources.
    Better but still not correct...
    What should i look?Where stays the answer?
    How to synchronize these two methods on these resources?
    Thank you in advance,
    Chris

    I think that your fetch and execute has a "Producer-Consumer Relationship"
    in such cases you can make the producer place the produced value in to a queue and consumer take the vlues from the queue
    In the producer thread it sleeps for a while and try again if the Queue is full
    In the Consumer thread it sleeps for a while if the Queue is empty and then try again
    Or you can do as follows
    In the Producer thread it waite() if the Queue is full
    In the Consumer thread it waite() if the queue is empty
    When ever Producer put a value in to the Queue it calls the notify on Consumer and when ever Consumer takes a value from Queue it calls the notify() on Producer
    you can even use notify all
    I think thiere is no built in Queue class in java so you will have to write one here is a example
    public class MyLongQueue{
                long data[];
                int head, tail;
                int size;
               public MyLongQueue(int size){
                    data = new long[size];
                    head = -1;
                    tail = -1;
                    this.size = 0;
                public synchronized boolean isFull(){
                    return (size==data.length);
                public synchronized boolean isEmpty(){
                    return (size==0);
                public synchronized boolean  insert(long l){
                    if (size==data.length) return false; //Queue is full cant add more data
                    tail = (tail + 1) % data.length;
                    data[tail] = l;
                     size++;
                    return true;
               public synchronized long remove(){
                   if (size==0) throw new ArrayIndexOutOfBoundsException();
                   size--;
                   head = (head + 1) % data.length;
                   return data[head];

  • I have ipad 2 and facing problem with programs swtching off

    I have ipad 2 and facing problem with programs it's swtching off while working and turn to home page. Am using ios 5

    If it's happening on all the apps that you've downloaded from the App Store, but not the Apple built-in ones, then try downloading any free app from the store (as that appears to reset something) and then re-try them - the free app can then be deleted.
    If it's happening on all apps then try closing them all completely and then see if they work when you re-open them : from the home screen (i.e.not with any app 'open' on-screen) double-click the home button to bring up the taskbar, then press and hold any of the apps on the taskbar for a couple of seconds or so until they start shaking, then press the '-' in the top left of each app to close them, and touch any part of the screen above the taskbar so as to stop the shaking and close the taskbar.
    If that doesn't work then you could try a reset : press and hold both the sleep and home buttons for about 10 to 15 seconds (ignore the red slider), after which the Apple logo should appear - you won't lose any content, it's the iPad equivalent of a reboot.

  • JNI & thread problem

    Folks,
    I am using JNI to access WIA (Windows Image Acquisition) functionality under MS Windows XP. WIA consists of a bunch of COM interfaces. I have several native functions in a single dll, with a limited number of static variables stored in the dll between calls. This all works fine as long as long as the calls occur from the same java thread, but not if a new thread is created for some of the calls. I.e., this works:
    final WIACtrl ctrler=new WIACtrl();
    ctrler.initializeWIA();
    ctrler.transferJPGNative("0001\\Root\\IMG_0087","c:\\test.jpg");
    but this does not:
    final WIACtrl ctrler=new WIACtrl();
    ctrler.initializeWIA();
    (new Thread() {
    public void run() {               
    ctrler.transferJPGNative("0001\\Root\\IMG_0087","c:\\test.jpg");
    }).start();
    Here, initializeWIA() and transferJPGNative() are the native methods. What happens in the second case is that transferJPGNative fails in one of the COM methods (not the first COM method it calls). The COM method returns an HRESULT indicating an error (509) which I can't find using any of the usual MS error look-up mechanisms. (Admittedly I am not the world's greatest Windows programmer...)
    Anyway, any suggestions would be much appreciated. I have found some issues regarding JNI and threads in this forum's archives, but none of them seem to apply to quite this situation.

    As a guess this is just a windows threading problem.
    And with COM you have to do things differently (I believe) if there is more than one thread. You might not even be allowed to do it with for that particular API.
    It could also be that you are initializing things more than once. Or you need to initialize twice (two handles.)
    At any rate you could always fix it by making the java code only allow calls for a single thread.

  • Thread problem in swings

    I have made an application in swings i have stored the class files in a system and call that class files by a batfile shortcut in two diff. pcs .and i am tring to get an value of a Jtextarea in an event When I tried to run this application at the same time from 2 diff PCS,with diff string input in text area It is giving me the same vlaue.
    Tell me Y it is so.and how can i rectify it
    javauser

    Very strange... what makes you think that this is a threading problem?

  • Urgent!!!!!!!HANDLER THREAD PROBLEM

    file name GetName.html
    <html>
    <body>
    <FORM METHOD = POST ACTION = "SaveName.jsp">
    what is your name?
    <INPUT TYPE = TEXT NAME=username SIZE= 20>
    <p><INPUT TYPE= SUBMIT>
    </FORM>
    </BODY>
    </HTML>
    file name SaveName.jsp
    <%
    String name = request.getParameter( "username" );
    session.setAttribute( "theName", name );
    %>
    <HTML>
    <BODY>
    Continue
    </BODY>
    </HTML>
    file name NextPage.jsp
    <html>
    <body>
    Hello, <%=session.getAttribute("theName") %>
    </body>
    </html>
    when I try to execute , SaveName.jsp is generating the following error message. what is the problem? I am using jswdk. please help. I have included tools.jar in classpath. what could be the problem?
    Unhandled error! You might want to consider having an error page to report such
    errors more gracefully
    com.sun.jsp.JspException: Compilation failed:Note: sun.tools.javac.Main has been
    deprecated.
    work\%3A8080%2Fexamples\SaveName_jsp_1.java:71: Method setAttribute(java.lang.St
    ring, java.lang.String) not found in interface javax.servlet.http.HttpSession.
    session.setAttribute( "theName", name );
    ^
    1 error, 1 warning
    at com.sun.jsp.compiler.Main.compile(Main.java:347)
    at com.sun.jsp.runtime.JspLoader.loadJSP(JspLoader.java:135)
    at com.sun.jsp.runtime.JspServlet$JspServletWrapper.loadIfNecessary(JspS
    ervlet.java:77)
    at com.sun.jsp.runtime.JspServlet$JspServletWrapper.service(JspServlet.j
    ava:87)
    at com.sun.jsp.runtime.JspServlet.serviceJspFile(JspServlet.java:218)
    at com.sun.jsp.runtime.JspServlet.service(JspServlet.java:294)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
    at com.sun.web.core.ServletWrapper.handleRequest(ServletWrapper.java:155
    at com.sun.web.core.Context.handleRequest(Context.java:414)
    at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:139)
    HANDLER THREAD PROBLEM: java.net.SocketException: Socket is closed
    java.net.SocketException: Socket is closed
    at java.net.Socket.getInputStream(Socket.java:643)
    at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:161)

    Are you using JSWDK 1.0.1? If you are, then the implementation uses the Servlet Spec. 2.1. The set/getAttribute methods were added in 2.2.
    Try using the now-deprecated method putValue like this in SaveName.jsp.
    <%
    String name = request.getParameter( "username" );
    session.putValue( "theName", name );
    %>

  • Thread problems with Samsung D500? Http or https troubles?

    Hi!
    I've got some troubles with my application installed onto my D500, and I suspect that's maybe thread problem.
    Does anyone know something about thread problems for this phone?
    I want to know, is there any trouble for connecting application by using http or https?
    I've found one problem for E720 - it escapes "backslash" character when it's used as http parameter.
    It makes parsing troubles...
    Did anyone have some similer troubles, and how have you solved this problem?
    Thanks in advance,
    Alex

    When I'm trying to connect to the net by using my application, I get two errors: "TCP open" and "interruptedIOException", and so I suspect that's some kind of thread problems.
    On the other phones (Nokia, Sony Ericsson) this application works with no problems...

  • Problems Loading Programs

    Hi, I'm having some problems loading programs, specifically the game Neverwinter Nights 2.
    It has been working fine for a month or so. Now when I click to load, the icon jumps a few times then nothing.
    - I have reinstalled the game, but with no success.
    - I have tried to repair the disk permissions in Safe Boot mode.
    - I have unsuccessfully searched for Plist files connected to the game (found none).
    - I have tried to load the game via a New Login account, with no success.
    Im Reluctant to do an 'Archive and Install', as I have no idea where have my app disks are.
    Has anyone an other idea's? Loosing the ability to play the game is annoying but I'm more worried that this may happen to other more important applications in the future!
    Any help or suggestions would be appreciated!
    Thank You!
    Specs are.
    10.4.11
    2.16 Intel Core Duo
    2gb 667
    ATI Radeon X1600

    Don't even think about deleting Quicktime, it's an integrated part of the OS.
    If that (or any other) game is that important to you, and you are prepared to lose the security fixes in QT 7.6, then it is possible to revert to an earlier version of Quicktime:
    If you wish to downgrade Quicktime to 7.5.5, (even though you will lose the important security fixes contained in the 7.6 update, and you will also find that parts of iTunes 7.6, iMovie and iChat may not now work without QT 7.6) there are two methods for doing this (note that attempting to manually delete Quicktime from your hard disk is doomed to failure. QT has components all over the place as it is used by many applications):
    (Note: I am running 10.4.11. Some things may be different in Leopard, but the principle should be the same.)
    First: Go to HD/Library/Receipts and drag the file QuickTime750_Tiger.pkg to the trash, and delete it.
    1. Perform an Archive and Install process to remove all of the QuickTime update's (and potentially problem-causing) components, and replace them with the components of the older release. Unfortunately, this means you will lose some system settings and some or all third-party system add-ons. This method is therefore longwinded and inconvenient, but will ultimately work. Because QT is an integral part of OS X using an archive and install to also downgrade to a previous version of OS X so that the various versions can work in the intended tandem, is the safest way to do it. But there is also another way:
    2. Install Quicktime 7.5. in such a way that it overwrites the QT 7.6 files without interfering with your other system settings and third-party add-ons. This can be done using a shareware (you can use it a few times for free, but worth paying for and having) application called Pacifist. This method works perfectly:
    (Note that there separate QT 7.7.5 installer packages for Leopard and Tiger , and you can get them here:
    For Panther: http://www.apple.com/support/downloads/quicktime74forpanther.html
    For Tiger: http://support.apple.com/downloads/QuickTime7_5_5_forTiger
    For Leopard: http://support.apple.com/downloads/QuickTime7_5_5_forLeopard
    Make sure you download the correct version for your system!
    If you don't have it already, download Pacifist from:
    http://www.charlessoft.com/
    and install it.
    Open Pacifist, and drag the icon of the QT installer to the Pacifist window. This will have the 'open carton' icon. Click on this, then click Install from the top left-hand corner of the Pacifist menu. You will be asked if you want existing files replaced. Say yes to all. Job done!
    You will now have Quicktime 7.5.5.x installed.
    N.B. Repair permissions and restart both before and after installation.

  • I installed a buyed version of Adobe Photoshop Elements 13. But is not possible to start the programm. I can read "There ist a problem, the program is not able to start". Is someone able to helb me?

    I installed a buyed version of Adobe Photoshop Elements 13. But is not possible to start the programm. I can read "There ist a problem, the program is not able to start". Is someone able to helb me?

    Without system information and other details we can't know what might be going on.
    Mylenium

Maybe you are looking for

  • Can someone export my video for me?

    The Project wont open on my Mac so if someone could try it on theirs and if it works, export one of the sequences for me. Let me know if you want to try my email is [email protected]

  • Exception while dequeuing message

    Hi, I am getting an error sayin "Exception while dequeuing message : Dequeue error in AQ object, ORA-25215: user_ data type and queue type do not match" What will be the problem?Please help me with solution. Thanks in advance

  • Ical on iphone

    My husband and I both have iphone and use ical...how can we my events show up on his phone???  I want him to know the school calendars and days off etc...?

  • Export functions not working right

    I have been happily using Jeffrey Friedl's "Flickr Export" plugin as well as a plugin to export LR files to Pixelpost blogs. Both were working perfectly until this morning. Now, neither of them work. I've reinstalled both plugins, and that didn't hel

  • PS CC crashes at launch - the continuing story

    It's very frustrating: the programme works fine on my laptop Windows 7, but I can't get the programme to work on my desktop with windows 8. I've downloaded and uninstalled the programme several times now, did the logging out and logging in process, b