有什么好的意見(jiàn)和建議歡迎你提,但是請(qǐng)注意語(yǔ)氣。我寫(xiě)博客的目的有兩個(gè),一是記錄,二是分享。我記錄我的學(xué)習(xí)歷程,分享給大家。我不是神,我想神也不能精通各個(gè)技術(shù)領(lǐng)域,不是最好的方案你就冷嘲熱諷,于情于理都不太合適吧。我這又不是出書(shū),你掏腰包買(mǎi)了看了覺(jué)得不好,罵幾句才痛快。我自己寫(xiě)我的自己博客,你發(fā)現(xiàn)瑕疵,是好事,歡迎你提出來(lái),哪來(lái)那么大火氣我就不懂了。你能寫(xiě)出更好的,我向你學(xué)習(xí)。如若不然,在寫(xiě)出作品之前,請(qǐng)別帶著一副大爺?shù)淖炷標(biāo)G嗥ぁ?
請(qǐng)?jiān)徫艺f(shuō)了那么多前言范er的廢話(huà),我最后再說(shuō)說(shuō)關(guān)于QThread 的用法,tcpSocket起一個(gè)線(xiàn)程去讀取用戶(hù)注冊(cè)信息這么一檔子事。
線(xiàn)程,就是這么個(gè)模子:
備個(gè)注吧:QThread類(lèi)提供了與系統(tǒng)無(wú)關(guān)的線(xiàn)程。
QThread代表在程序中一個(gè)單獨(dú)的線(xiàn)程控制,在多任務(wù)操作系統(tǒng)中,它和同一進(jìn)程中的其它線(xiàn)程共享數(shù)據(jù),但運(yùn)行起來(lái)就像一個(gè)單獨(dú)的程序一樣。它不是在main()中開(kāi)始,QThread是在run()中開(kāi)始運(yùn)行的。你繼承run()并且在其中包含你的代碼。例如:
void QThread::run () [純虛 保護(hù)]
這個(gè)方法是純虛的,并且為了能夠做有用的工作必須在繼承類(lèi)中被重新實(shí)現(xiàn)。這個(gè)方法的返回將會(huì)結(jié)束線(xiàn)程的執(zhí)行。
void QThread::start ()
通過(guò)調(diào)用run()(必須在QThread子類(lèi)中重新實(shí)現(xiàn)來(lái)包含你的代碼)開(kāi)始這個(gè)線(xiàn)程的執(zhí)行。如果你試圖開(kāi)始一個(gè)已經(jīng)運(yùn)行的線(xiàn)程,這個(gè)調(diào)用將一直等待,直到這個(gè)線(xiàn)程完成,然后再重新開(kāi)始這個(gè)線(xiàn)程。
void QThread::exit () [靜態(tài)]
結(jié)束調(diào)用線(xiàn)程的執(zhí)行并且喚醒任何等待它終止的線(xiàn)程。
bool QThread::wait ( unsigned long time = ULONG_MAX )
這將提供和POSIX pthread_join相似的功能。一個(gè)線(xiàn)程調(diào)用了它將會(huì)一直阻塞,知道下述條件之一滿(mǎn)足時(shí)繼續(xù):
1.這個(gè)QThread對(duì)象所關(guān)聯(lián)的線(xiàn)程已經(jīng)結(jié)束執(zhí)行(比如,當(dāng)它從run()中返回)。如果線(xiàn)程完成,這個(gè)函數(shù)將返回真。如果線(xiàn)程還沒(méi)有開(kāi)始呢,這個(gè)函數(shù)也返回真。
2.time毫秒過(guò)去了。如果time是ULONG_MAX(默認(rèn)值),然后等待將永遠(yuǎn)不會(huì)超時(shí)(線(xiàn)程必須從run()中返回)。如果等待時(shí)間到了,這個(gè)函數(shù)將返回假。
想在線(xiàn)程里干什么,就在run()里寫(xiě)什么,在這里的實(shí)現(xiàn)很簡(jiǎn)單,內(nèi)容都在on_Ready_Read()的實(shí)現(xiàn)里
這個(gè)exec() 就是把整個(gè)進(jìn)程空間換成要執(zhí)行的那個(gè)程序的進(jìn)程空間,說(shuō)白了就把自己換成別人。
還有請(qǐng)注意, QCoreApplication::exec() 必須從主線(xiàn)程(執(zhí)行 main() 方法的線(xiàn)程)調(diào)用, 不從 QThread 調(diào)用。 在GUI應(yīng)用程序,主線(xiàn)程也被稱(chēng)為GUI線(xiàn)程,因?yàn)樗俏ㄒ辉试S執(zhí)行GUI相關(guān)操作的線(xiàn)程。
困死了還有一大堆工作沒(méi)有做,整個(gè)工程的源碼debug版 , release版都打包好上傳至CSDN資源,本地沒(méi)有Qt庫(kù)也可以運(yùn)行體驗(yàn)一下,很?chē)宓氖牵抑荒苌蟼?0M以下的資源,只好縮減了一些UI的特效顯示,唉……只是些UI資源圖片的刪減無(wú)大礙,免費(fèi)0積分下載: 自定義QQ
12點(diǎn)多了晚安~
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
