日期:2014-05-20  浏览次数:20801 次

java 多线程参数传递的问题
请教一下java中多线程之间如何传递参数
参数类型 不确定 ,参数的数量也不确定,只有执行时才知道

我知道有一个pass by block的东西 但是还没有弄明白

谁有线索指点一下

------解决方案--------------------
把参数定义到一个类里面
那就让这多个线程都来读和写同一个类的成员变量。
这个类里面的set方法加锁。
------解决方案--------------------
多线程数据传递很容易啊,定义一个static的全局变量不就结了。全部都往这个对象里面放。
------解决方案--------------------
可以通过设置 共享数据变量 ,但是需要同步方法。
------解决方案--------------------
定义一MAP  
------解决方案--------------------
楼主问的应该是多线程之间,数据的传递吧。或者,线程间的通信。
参数,一般是指,调用方法的前提数据。

线程之间,数据的传递,一般有以下几种方法:
1. 共享数据区域: 比如,共享数据对象,队列,文件等等。
2. 虚拟管道:一个线程向管道里写入数据,另一个线程读取数据。
3. Socket、RMI等等。

一般都选用第一种,共享数据的方法。简单、高效,涉及线程同步(或数据同步)问题。
------解决方案--------------------
楼上已经总结很详细

楼主说的pass by block其实就是楼上诸位提到的static全局变量。



------解决方案--------------------
static关键字  这例子跟你问的有关系吗?
------解决方案--------------------
引用:
楼主问的应该是多线程之间,数据的传递吧。或者,线程间的通信。
参数,一般是指,调用方法的前提数据。

线程之间,数据的传递,一般有以下几种方法:
1. 共享数据区域: 比如,共享数据对象,队列,文件等等。
2. 虚拟管道:一个线程向管道里写入数据,另一个线程读取数据。
3. Socket、RMI等等。

一般都选用第一种,共享数据的方法。简单、高效,涉及线程同步(或数据同步)问题。

楼上正解