我想可能实这样的:
两个独立的线程共享一个整数数组,该数组分成两端,分别被两个线程访问。其中一个线程把自己的那一段的数据初始化为1到100的随机数,另一个线程抛硬币,记录数值,分别填入数组中,(其实就是把自己的那段数组数据初始化为0和1的随机数而已)。
个人理解
class RandomNumber implements Runnable{
private int n[]=new n[50];
Random r = new Random();
int b = r.nextInt(100);
public void run(){
for(int j=0 ; j<100; j++){
System.out.println(""+n[]);
try{
sleep(100);
}catch(InterruptedException e){}
}
}
}
class Toss implements Runnable{
private int m[] = new m[50];
Random s = new Random();
int a = s.nextInt(2);
public void run(){
for(int j=0 ; j<100; j++){
System.out.println(""+n[j]);
try{
sleep(100);
}catch(InterruptedException e){}
}
}
}
class Q1 {
public static void main(String args[]){
Runnable c1 = new RandomNumber(50);
Runnable c2 = new Toss(50);
new Thread(c1).start();
new Thread(c2).start();
}
}
你那样写是两个线程 但他们访问的是两个不同的 array
public class demo{
private int m[] = new m[50];
//定义 ,赋值。。。
new Thread(){ //线程1
public void run(){//实现}
}
}.start();
new Thread(){ //线程2
public void run(){//实现}
}
}.start();
}