class A implements Runnable { private int[] arr = new int[3]; public void run() {
arr[0] = 4;
arr[1] = 5;
arr[2] = 6;
} public int[] getArr() {
return arr;
}
public void setArr(int[] arr) {
this.arr = arr;
}
}public class Main {
public static void main(String args[]) {
A a = new A(); int[] arr = { 0, 3, 8 };
a.setArr(arr);
Thread t = new Thread(a);
t.start(); int[] b = a.getArr();
for (int i = 0; i < b.length; i++)
System.out.println(b[i]);
}
}
/*
* 我这题的主要意思是arr作为A类对象线程和主线程的共享变量,当arr在A对象里面被改变时,主线程只能等待,不准去获取arr,
* 只有run()方法执行完后,才能去读取arr,然后输出。
* 不知该如何设置?
*/
arr[0] = 4;
arr[1] = 5;
arr[2] = 6;
} public int[] getArr() {
return arr;
}
public void setArr(int[] arr) {
this.arr = arr;
}
}public class Main {
public static void main(String args[]) {
A a = new A(); int[] arr = { 0, 3, 8 };
a.setArr(arr);
Thread t = new Thread(a);
t.start(); int[] b = a.getArr();
for (int i = 0; i < b.length; i++)
System.out.println(b[i]);
}
}
/*
* 我这题的主要意思是arr作为A类对象线程和主线程的共享变量,当arr在A对象里面被改变时,主线程只能等待,不准去获取arr,
* 只有run()方法执行完后,才能去读取arr,然后输出。
* 不知该如何设置?
*/
Object sycroniz; public synchronized void run() {
arr[0] = 4;
arr[1] = 5;
arr[2] = 6;
notify();
} public synchronized int[] getArr() throws Exception {
wait();
return arr;
} public void setArr(int[] arr) {
this.arr = arr;
}
}public class Main { public static void main(String args[]) throws Exception {
A a = new A();
int[] arr = {0, 3, 8};
a.setArr(arr);
Thread t = new Thread(a);
t.start();
int[] b = a.getArr();
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
}
}
Object sycroniz; public synchronized void run() {
arr[0] = 4;
arr[1] = 5;
arr[2] = 6;
notify();
} public synchronized int[] getArr() throws Exception {
wait();
return arr;
} public void setArr(int[] arr) {
this.arr = arr;
}
}public class Main { public static void main(String args[]) throws Exception {
A a = new A();
int[] arr = {0, 3, 8};
a.setArr(arr);
Thread t = new Thread(a);
t.start();
int[] b = a.getArr();
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
}
}