WHy my emulator blocks even when I use thread?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • phpuser123
    New Member
    • Dec 2009
    • 108

    WHy my emulator blocks even when I use thread?

    I am trying some thread tuts in J2me and camee across this code on the Net. Whan I run it, the emulator blocks... What is the use of the thread when the application still blocks...And How do I make this work?

    Code:
    import java.io.IOException;
    
    import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.midlet.MIDlet;
    
    public class J2MEBackgroundProcessing extends MIDlet implements CommandListener { private Display display;
    
    private Form form= new Form("Background Processing");
    
    private Command exit = new Command("Exit", Command.EXIT, 1);
    
    private Command start = new Command("Start", Command.SCREEN, 2);
    
    public J2MEBackgroundProcessing() { display = Display.getDisplay(this); form.addCommand(exit); form.addCommand(start); form.setCommandListener(this); }
    
    public void startApp() { display.setCurrent(form); }
    
    public void pauseApp() { }
    
    public void destroyApp(boolean unconditional) { }
    
    public void commandAction(Command command, Displayable displayable) { if (command == exit) { destroyApp(false); notifyDestroyed(); } else if (command == start) { Process process = new Process(this); process.start(); } } }
    
    class Process implements Runnable { private BackgroundProcessing MIDlet;
    
    public Process(BackgroundProcessing MIDlet) { this.MIDlet = MIDlet; }
    
    public void run() { try { transmit(); } catch (Exception error) { System.err.println(error.toString()); } }
    
    public void start() { Thread thread = new Thread(this); try { thread.start(); } catch (Exception error) { } }
    
    private void transmit() throws IOException { } }
  • Sean Pedersen
    New Member
    • Dec 2010
    • 30

    #2
    Code:
                Process process = new Process(this);
                process.start();
    should be
    Code:
    new Thread(new Process(this)).start();
    Then sort out the class functions to branch from run().

    Comment

    • phpuser123
      New Member
      • Dec 2009
      • 108

      #3
      Thanks it worked fine now

      Comment

      Working...