threadsync.java

来自「在eclipse环境下非同步线程访问共享数据源码」· Java 代码 · 共 58 行

JAVA
58
字号
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class ThreadSync extends MIDlet {
    boolean isRunning = true;    
    int  a=0;      //共享数据
    
    //MIDlet对象实例的引用
    ThreadSync instance = this;
    
    public ThreadSync() {
        super();
        
        //启动2个线程同时访问共享变量a
        new Thread("Thread Add") {
            public void run() {
                //对a进行加1运算
                while(isRunning) {
                    String name = Thread.currentThread().getName();
                    synchronized (instance) {
                        System.out.print(name + ": " + a);
                        System.out.println("+1=" + ++a);
                    }
                }
            }
        }.start();
        
        new Thread("Thread Sub") {
            public void run() {
                //对a进行减1运算
                while(isRunning) {
                    String name = Thread.currentThread().getName();
                    synchronized (instance) {
                        System.out.print(name + ": " + a);
                        System.out.println("-1=" + --a);
                    }
                }
            }
        }.start();
    }

    protected void startApp() throws MIDletStateChangeException {
        // TODO 自动生成方法存根

    }

    protected void pauseApp() {
        // TODO 自动生成方法存根

    }

    protected void destroyApp(boolean arg0)
            throws MIDletStateChangeException {
        isRunning = false;
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?