/* This is my seventh threaded program in Java */ public class Test7 { static final int NUM_THREADS = 10; static MyThread7 myNumberThreads[]; static MyThread7 myCharacterThreads[]; static ThreadGroup myNumbers, myCharacters; public static void main(String[] argv){ myNumbers = new ThreadGroup("N"); myCharacters = new ThreadGroup("C"); myNumberThreads = new MyThread7[NUM_THREADS]; myCharacterThreads = new MyThread7[NUM_THREADS]; for (int i=0; i < NUM_THREADS; i++){ (myNumberThreads[i] = createNumberThread(i)).start(); (myCharacterThreads[i] = createCharacterThread(i)).start(); } try { for (int i=0; i < NUM_THREADS; i++){ myNumberThreads[i].join(); myCharacterThreads[i].join(); } } catch (InterruptedException e){ return; } System.out.println(); } public static MyThread7 createNumberThread(int i){ return new MyThread7(myNumbers, new Integer(i).toString()); } public static MyThread7 createCharacterThread(int i){ return new MyThread7(myCharacters, "abcdefghij".substring(i,i+1)); } } class MyThread7 extends Thread{ static final int NUM_PRINTS = 30; MyThread7(ThreadGroup g, String s){ super(g, s); } public void run(){ for (int i=0; i < NUM_PRINTS; i++){ System.out.print(getName()); if (Math.random() < 0.5) yield(); } } }