多个线程之间共享数据

原创 2013年12月04日 10:21:00

启动两个线程,其中一个每次增加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();
			}
		}
	}

}

 

 

多个线程之间是如何进行通信的呢?

在现实应用中,很多时候都需要让多个线程按照一定的次序来访问共享资源,例如,经典的生产者和消费者问题。这类问题描述了这样一种情况,假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库...
  • u011461231
  • u011461231
  • 2016年10月16日 10:06
  • 3582

Java多个线程之间处理共享数据的方式

题目要求: 有4个线程,其中两个线程每次对x加1,另外两个每次对x减1,如何实现? 分析:     x就是这4个线程要处理的共享数据,不同种线程有不同的处理方式,但操作的数据是共同的...
  • u013497151
  • u013497151
  • 2014年12月11日 00:50
  • 1828

java 理解多线程及线程可见性

进程,线程 进程:程序(任务)的执行过程,是动态的;持有资源(内存,文件)和线程,是资源和线程的载体。 线程:线程是系统中最小的执行单元,同一进程中有很多线程,线程共享进程的资源。...
  • jing__jie
  • jing__jie
  • 2016年08月12日 17:40
  • 1729

java 线程间数据共享和android 线程间数据共享异同

(一)Java多线程编程访问共享对象和数据的方法 1、每个线程执行的代码相同,例如,卖票:多个窗口同时卖这100张票,这100张票需要多个线程共享。 2、每个线程执行的代码不同,例如:设计四个线程...
  • tianyeming
  • tianyeming
  • 2015年11月30日 15:23
  • 1060

同一进程中的线程究竟共享哪些资源

http://blog.csdn.net/zzuchengming/article/details/52131940 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统...
  • liukaiyu_ak
  • liukaiyu_ak
  • 2016年08月30日 12:57
  • 1944

线程间的通信

线程间的通信 1.线程之间的通信简介 一般而言,在一个应用程序中(即进程),一个线程往往不是孤立存在的,常常需要和其它线程通信,以执行特定的任务。如主线程和次线程,次线程与次线程,工作线程和用户界...
  • cbNotes
  • cbNotes
  • 2013年01月18日 11:54
  • 41465

多个线程之间如何进行通信

在前一小节,介绍了在多线程编程中使用同步机制的重要性,并学会了如何实现同步的方法来正确地访问共享资源。这些线程之间的关系是平等的,彼此之间并不存在任何依赖,它们各自竞争CPU资源,互不相让,并且还无条...
  • youxirenjia90
  • youxirenjia90
  • 2016年08月16日 22:27
  • 146

多个线程之间如何进行通信

在前一小节,介绍了在多线程编程中使用同步机制的重要性,并学会了如何实现同步的方法来正确地访问共享资源。这些线程之间的关系是平等的,彼此之间并不存在任何依赖,它们各自竞争CPU资源,互不相让,并且还无条...
  • qq_31209383
  • qq_31209383
  • 2017年02月05日 13:22
  • 108

多个线程之间共享数据

多个线程之间共享数据,首先想到的是将共享数据设置为全局变量,并且用static修饰,但是static修饰的变量是类变量,生命周期太长了,占用内存,本文将介绍三种方法实现多个线程之间共享数据。方法一:多...
  • qq_33824312
  • qq_33824312
  • 2017年04月06日 08:41
  • 168

多个线程之间共享数据

多个线程 共享数据
  • qq_33248299
  • qq_33248299
  • 2017年12月05日 01:21
  • 58
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多个线程之间共享数据
举报原因:
原因补充:

(最多只允许输入30个字)