首页 > 代码库 > java多线程学习-多个线程访问对象共享数据的方式

java多线程学习-多个线程访问对象共享数据的方式

public class MulitThreadShareData {        public static void main(String[] args) {        final ShareData1 data1 = new ShareData1();        new Thread(new Runnable() {            public void run() {                data1.increment();            }        }).start();                new Thread(new Runnable() {            public void run() {                data1.decrement();            }        }).start();                        new Thread(new MyRunnable1(data1)).start();        new Thread(new MyRunnable2(data1)).start();            }}class ShareData1 {    private int j = 0;            public void increment(){        for (int i = 0; i < 10; i++) {            j++;            System.out.println(j+" now incre ");        }    }        public void decrement(){        for (int i = 0; i < 10; i++) {            j--;            System.err.println(j+" now decre ");        }    }}class MyRunnable1 implements Runnable{        private ShareData1 data;        public MyRunnable1(ShareData1 data){        this.data =http://www.mamicode.com/ data;    }    public void run() {        data.decrement();    }}class MyRunnable2 implements Runnable{        private ShareData1 data;        public MyRunnable2(ShareData1 data){        this.data =http://www.mamicode.com/ data;    }    public void run() {        data.increment();    }}

 

java多线程学习-多个线程访问对象共享数据的方式