- public class Share {
- /**
- * 声明一个共享数组,起两个线程,两个线程分别隔一段时间(可以写一个随机数),给数组中添加数据,每一个线程为数组添加3个数据即可。
- * @param args
- * @throws InterruptedException
- */
- public static void main(String[] args) throws InterruptedException {
- // TODO Auto-generated method stub
- String[] share=new String[6];
-
- Thread t1=new Thread(new MyRunb(share));
- t1.join(100);
-
- Thread t2=new Thread(new MyRunb(share));
- t1.start();
- t2.start();
- t2.join();
- for(int x=0;x<6;x++)
- System.out.println(share[x]);
- }
- }
- class MyRunb implements Runnable{
- private String[] sh=new String[6];
- public MyRunb(String []sh){
- this.sh=sh;
- }
-
- @Override
- public void run() {
- int temp=0;
- for(int j=0;j<3;j++)
- synchronized(sh){
- for(int i=0;sh[i]!=null;i++)
- temp=i+1;
- sh[temp]=Thread.currentThread().getName()+"添加的第"+(j+1)+"数据";
- }
- }
- }
复制代码 |