日期:2014-05-17  浏览次数:20823 次

关于线程执行顺序的问题
做客户端和服务端之间的通讯,我在做客户端的时候,想在发起连接的时候开启一个线程用于连接服务端,然后发起连接成功后,就开启线程来接收服务端的消息。我是这样做的:在一个连接的按钮下直接threadConnect.start(),然后下面紧接着是threadReceive.Start();然后我F5调试发现,程序没有执行threadConnect.start()线程,而是只执行了threadReceive.Start(),当然这样做肯定报错了,因为还没有和服务端连接起来。那么在开启两个线程的前提下,请问要怎么做呢?求大神帮忙。
线程 通讯

------解决方案--------------------
1,声明个事件,绑定二线程的启动,在一线程结束时触发。
2,线程同步,1线程锁住一个资源,完了才释放,这时候2线程才能执行了。
------解决方案--------------------
你可以根据条件,让B线程挂起,等条件OK了,让A线程唤醒B线程。