public class exp6_1 implements Runnable { String[] str=new String[5]; public void run(){ for(;;){ for(int i=0;i<str.length;i++){ str[i]="line"+(i+1); System.out.println(str[i]); } } } public static void main(String[] args) { new Thread(new exp6_1()).start(); } } public class exp6_2 { public static void main(String[] args) { new Thread(new exp621()).start(); new exp622().start(); } } class exp621 implements Runnable{ public void run() { for(;;){ String[] str1={"11111","2222","333333"}; for(int i=0;i<str1.length;i++){ System.out.println(str1[i]); } } } } class exp622 extends Thread{ public void run(){ while(true){ String[] str1={"aaaaa","bbbbbb","ccccc","ddddd"}; for(int i=0;i<str1.length;i++){ System.out.println(str1[i]); } } } } //模块同步 public class exp6_3 { public static void main(String[] args) { Tickets tic=new Tickets(100); SS xizhan=new SS("西站",tic); SS dongzhan=new SS("东站",tic); xizhan.start(); dongzhan.start(); } } class SS extends Thread{ Tickets num; //Tickets tic=new Tickets(100); public SS(String nameIn,Tickets numIn){ setName(nameIn); this.num=numIn; } public void run(){ while(true){ if(num.numoft<1) return; try { System.out.println(getName()+"-"+num.numoft--); sleep(10); } catch (InterruptedException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } } } class Tickets { int numoft=100; public Tickets(int numIn){ numoft=numIn; } } //方法同步-synchronized public class exp6_3_2 { public static void main(String[] args) { new calc(); } } class calc implements Runnable { int tickets=100; public calc(){ Thread dong=new Thread(this); Thread xi=new Thread(this); dong.setName("东站"); xi.setName("西站"); xi.start(); dong.start(); } public synchronized void run() { while(true){ try { wait(100); } catch (InterruptedException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } if(tickets<1){return;} else{ System.out.println(Thread.currentThread().getName()+"sells:"+tickets--); } } } }