关闭

多个线程之间共享数据

259人阅读 评论(0) 收藏 举报
分类:

启动两个线程,其中一个每次增加1,另外一个线程每次减一,写出程序?

 

package hb.thread;

public class MultThread {

	private int i = 0;

	public static void main(String[] args) {
		MultThread mt = new MultThread();
		//访问内部类的方式
		new Thread(mt.new Inc()).start();
		new Thread(mt.new Dec()).start();
	}

	public synchronized void inc() {
		i++;
		System.out.println(Thread.currentThread().getName() + "-----" + i);
	}

	public synchronized void dec() {
		i--;
		System.out.println(Thread.currentThread().getName() + "-----" + i);
	}

	// 实现增加数据
	class Inc implements Runnable {
		@Override
		public void run() {
			for (int i = 0; i < 1000; i++) {
				inc();
			}
		}
	}

	// 实现减少数据
	class Dec implements Runnable {
		@Override
		public void run() {
			for (int i = 0; i < 1000; i++) {
				dec();
			}
		}
	}

}

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:310064次
    • 积分:8715
    • 等级:
    • 排名:第2262名
    • 原创:1096篇
    • 转载:14篇
    • 译文:0篇
    • 评论:5条
    最新评论