方式很多,通过CountDown、Semaphore等可以。如通过CountDown类线程执行完了释放,在main方法中等待所有线程完成。
public class TextThread 
{ public static void main(String[] args){ 
  CountDown countDown = new CountDown(10);
for(int i=0;i <10;i++){ 
new Thread(new ReadFileThread(i,countDown)).start(); 

countDown.acquire();//等待线程完成} 
在ReadFileThread 类里面线程执行完成后调用countDown.release();//释放