import java.util.ArrayList ;
import java.util.List ;
class AffableThread
implements Runnable { public void run( ) { //Этот метод будет выполнен в побочном потоке
System .
out .
println ( "Привет из побочного потока!" + Thread .
currentThread ( ) .
getName ( ) ) ; }
}
public class Main {
static AffableThread mSecondThread;
mSecondThread = new AffableThread( ) ;
List< Thread> threads = new ArrayList<> ( ) ;
int i = 0 ;
while ( i< 5 ) {
msSecondThread.start ( ) ;
threads.add ( msSecondThread) ;
i++;
}
t.join ( ) ;
}
if ( i== 5 ) {
System .
out .
println ( "Главный поток завершён..." ) ; }
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmNsYXNzIEFmZmFibGVUaHJlYWQgaW1wbGVtZW50cyBSdW5uYWJsZSB7CiAgICBwdWJsaWMgdm9pZCBydW4oKSB7ICAgLy/QrdGC0L7RgiDQvNC10YLQvtC0INCx0YPQtNC10YIg0LLRi9C/0L7Qu9C90LXQvSDQsiDQv9C+0LHQvtGH0L3QvtC8INC/0L7RgtC+0LrQtQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi0J/RgNC40LLQtdGCINC40Lcg0L/QvtCx0L7Rh9C90L7Qs9C+INC/0L7RgtC+0LrQsCEiK1RocmVhZC5jdXJyZW50VGhyZWFkKCkuZ2V0TmFtZSgpKTsKICAgIH0KfQoKcHVibGljIGNsYXNzIE1haW4gewogICAgc3RhdGljIEFmZmFibGVUaHJlYWQgbVNlY29uZFRocmVhZDsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkludGVycnVwdGVkRXhjZXB0aW9uIHsKICAgICAgICBtU2Vjb25kVGhyZWFkID0gbmV3IEFmZmFibGVUaHJlYWQoKTsKICAgICAgICBMaXN0PFRocmVhZD4gdGhyZWFkcyA9IG5ldyBBcnJheUxpc3Q8PigpOwogICAgICAgIGludCBpID0gMDsKICAgICAgICB3aGlsZSAoaTw1KSB7CiAgICAgICAgICAgIFRocmVhZCBtc1NlY29uZFRocmVhZCA9IG5ldyBUaHJlYWQobVNlY29uZFRocmVhZCk7CiAgICAgICAgICAgIG1zU2Vjb25kVGhyZWFkLnN0YXJ0KCk7CiAgICAgICAgICAgIHRocmVhZHMuYWRkKG1zU2Vjb25kVGhyZWFkKTsKICAgICAgICAgICAgaSsrOwogICAgICAgIH0KICAgICAgICBmb3IgKFRocmVhZCB0IDogdGhyZWFkcykgewogICAgICAgICAgICB0LmpvaW4oKTsKICAgICAgICB9CiAgICAgICAgaWYgKCBpPT0gNSl7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi0JPQu9Cw0LLQvdGL0Lkg0L/QvtGC0L7QuiDQt9Cw0LLQtdGA0YjRkdC9Li4uIik7CiAgICAgICAgfQogICAgfQp9Cg==