Java线程同步

Ted*_*tel 0 java multithreading

是否有一种方法可以让一个启动新线程的线程等到它启动的线程停止?我正在考虑使用锁定,但如果线程崩溃,锁将永远不会释放.

所以当我的程序调用时

cTurnCardOvrerConnection thread = new cTurnCardOvrerConnection("thread3", connection, mPlayerList, mPlayersMessages, lBoard);
Run Code Online (Sandbox Code Playgroud)

会等到线程结束吗?

mPlayerList.WaitForAllPlayers();
do
{
    do
    {
        r=GetClient();
        switch(r)
        {
            case 0: return; // exitvon a very bad error
        }
    } while(r==2); // loop if it was a timeout wait for this thread to terminate.                   

    cTurnCardOvrerConnection thread = new cTurnCardOvrerConnection("thread3", connection, mPlayerList, mPlayersMessages, lBoard);               
    if ( CheckTimeStamp())
        break;
} while( mPlayerList.AllPlayersFinished()==false);
Run Code Online (Sandbox Code Playgroud)

jta*_*orn 5

你可以使用Thread.join().

当然,如果主线程只是启动辅助线程然后等待它完成,那么辅助线程实际上没用(只需在主线程上完成工作).