[問題] socket programming 中與 pthread 溝通

看板C_and_CPP作者 (我不知道)時間14年前 (2010/03/29 02:39), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 不好意思~又來問了~ = =" 我想要寫一個多client連server的程式 client連上可以下載server上的東西 但是我希望可以在命令列打入exit之類的指令命令client離開,也就是全部 離開,我在程式中這樣寫... int main(){ .. while(1){ // 等待client連入 pthread_create(&pthread[i].tid ...); //用陣列來分別id .. } } //thread 執行的部分 service(){ ... scanf(%s,command); send(socket_client, command....); // 傳送出去 } 我這樣寫法會造成,一次只能有一個client被踢走,而且是依照連進來順序, 想問有什麼辦法可以做到類似的事情 就是讓外部可以下命令,所有的thread街可以知道。 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) linux -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.171.165

03/29 09:13, , 1F
pthread_cond_broadcast()
03/29 09:13, 1F

03/29 12:45, , 2F
上面說的我查了一下似乎是在thread被lock時用的~
03/29 12:45, 2F

03/29 12:46, , 3F
我是想要再thread都在進行時,對每一個thread發佈~
03/29 12:46, 3F

03/29 19:05, , 4F
用一個全域變數當作旗標? 不知道這樣是否是你要的效果?
03/29 19:05, 4F

03/30 02:33, , 5F
沒錯!!我用了global的變數~讓每個thread定時去讀取~成功!
03/30 02:33, 5F
文章代碼(AID): #1Bhw9m6N (C_and_CPP)