『壹』 c語言講多線程的書,那本書講的好一點的.
我不知道是否有專門針對c語言多線程的書,但是在<win32多線程程序設計>和《windows核心編程》中都有對c庫beginthread等多線程函數的講解,可以參考!
『貳』 C語言,windows多線程編程
點量Http、FTP多線程斷點續傳下載組件(下載DLL)的開發目的是讓用戶可以無需關心Http/FTP協議的具體細節,只需要幾十行甚至幾行代碼,便可以實現一個功能完善的Http/FTP下載軟體。點量Http/FTP下載組件(DLL)支持多線程、斷點續傳、顯示詳細下載過程、自動查找鏡像網址、支持代理傳輸等完善的功能。
點量Http、FTP下載內核源碼使用高效的c++代碼編寫,提供標準的動態鏈接庫(DLL),可供C/C++、Delphi、C#、Java、VB等語言和各常用開發環境調用,讓您完全像調用系統API一樣的調用。
點量Http/FTP組件的功能簡介:
標准Http和FTP下載支持:完全標準的Http和FTP協議支持,內部通過網址自動區分是Http還是FTP下載。
極速下載(2.0以後版本):超越國內絕大多數下載軟體的下載速度。新版內核在2M ADSL的環境下下載,有些文件的速度可以達到1400K位元組/秒以上,超過了帶寬的極限。下載速度可以用極速形容。
多線程傳輸:可以將文件自動分塊,並採用多線程下載。並可自由設置線程數目。
斷點續傳:點量Http/FTP有優秀的斷點續傳支持,每次啟動自動從上次下載的位置開始,不需要重復下載。
提供詳細的下載詳情介面(2.0以後版本):可以看到整個下載過程的步驟,比如開啟了多少線程、伺服器的應答過程、錯誤信息等。
支持多種高級設置:設置線程數目、磁碟緩存大小、搜索鏡像伺服器的詳細參數設置、下載文件完成後同步文件為伺服器上的文件時間、下載過程中可以自定義文件臨時後綴、未完成的文件設為隱藏屬性。
支持磁碟緩存:點量Http/FTP下載DLL支持設置磁碟緩存,減少對磁碟的讀寫,並提升下載速度。
支持設置Refer:點量Http/FTP下載組件支持設置下載時的Refer,以便可以繞過一些防盜鏈的網站,直接下載內容。
限速功能:點量Http/FTP下載組件可方便的設置下載限速。
多種磁碟分配方式:點量Http/FTP下載組件支持預分配和邊下載邊分配兩種磁碟方式,滿足多種下載需求。
自動搜索鏡像加速:點量Http/FTP內置了鏡像搜索功能,在下載文件的同時,會自動搜索哪些其它網站還有這個文件,自動從其它網址下載加速。
可提供源碼:支付一定的費用,便可以獲得全部的點量Http/FTP下載組件的源代碼,免除您的所有後顧之憂。
良好的服務:作為點量軟體旗下的軟體,可享受到點量軟體的優秀服務,我們的服務讓您如同擁有一個稱心的專業員工。
點量Http/FTP 下載組件可以適用於任何Http和FTP下載的領域,讓您可以在1天內完成一個完整的Http下載軟體的全部功能。比如,您可以用於產品的升級、文件的下載和傳輸等。
點量Http/FTP內核可以為您帶來:
1、大大節省您的開發成本:了解Http和FTP的協議,再去編碼、測試,即使對於一個非常有經驗的開發人員來說,也需要較長期的時間,此間耗費的人力資源成本和管理成本可謂不少。而使用點量Http/FTP,您就不需要從製造輪子開始製造您的汽車,將注意力集中於車的設計而不是基礎設備的建設。何況我們的產品性能是如此優越!
2、強有力的技術支持:作者長期從事下載技術的研發,所提供的技術支持相當於您僱傭了一位具有豐富經驗,無需從頭學習的開發人員,可以在您的系統建設過程中為您提供整體系統架設的意見。
如果您是個人作為非商業目的使用,您可以自由、免費的使用點量Http/FTP下載組件內核庫和演示程序,也期待收到您反饋的意見和建議;如果您是商業使用,那麼您需要聯系作者申請產品的商業授權。
『叄』 c語言多線程編程問題
如果針對問的問題來說, 可以考慮使用同步機制. 可以查如mutex等同步機制.
另外, 我會建議...你應該使用單一個服務程序, 用緩存空間去接收要列印的訊息, 單一控制輸出螢幕, 這樣應該會比較好. 因為螢幕輸出只有一個, 多線直接控制, 本來就不好處理. 如果採用傳送訊息機制, 應該就有順序分別, 不易產生問題.
『肆』 C語言多線程編程的一個菜鳥問題
由於是多線程環境,放一個原子變數,每次調用該函數時,讓該原子變數的值遞增,同時用一個全局變數記錄當該變數值為初始值時的值。不知道能明白我的意思沒
不用原子操作,或者使用臨界區來防止沖突也行
『伍』 C語言多線程編程為什麼要用pthread
因為創建線程的本質行為是調用windowsAPI,而windowsAPI具有平台特性,因此,只能通過調用封裝好的函數來實現。
『陸』 C語言windows,OpenGL編程
查找 MSDN 可以得知,MSG 裡面的 pt 坐標是相對於窗口的左上角的;
2. 至於聲音控制和播放,可以使用 Windows 自帶的 MCI API,或者使用 DirectSound 來播放,我推薦你使用 un4seen 的 BASS,簡單實用強大,一兩個函數就可以播放音效了;
3. 你要使用 alpha blend 與桌面進行鏤空運算,就必須首先獲得桌面的窗體句柄,OpenGL 的 alppha 運算我不是很懂,不過 Direct3D 的話就簡單多了;
4. 屏幕常亮,其實就是阻止系統進入休眠狀態,每當系統要進入休眠狀態之前,都會向系統的所有窗口發送一條消息,你攔截這條消息,進行特別的處理就可以防止系統進入休眠了,至於是什麼消息,請查看 MSDN,我也好久沒用過這條消息了;
5.bmp 文件可以保存 alpha 通道,使用 32bit 色深的 bmp 文件就可以了,RGB 分別 8bit,alpha 通道 8bit,不過說到 alpha 通道,tga 或者 png 圖片更加合適,因為他們可以進行無損壓縮;
6.用GetPocAddress導出函數,只能用類型強制轉換,這個是 windows 的原則,我們只能去迎合它了 ...
7. 執行 NULL 指針的話,不同的系統會有不同的反應,XP 是直接程序崩潰,Vista 或者以上的系統,就會提示無響應
8. 如果你建立的工程是 Win32 窗口程序,那麼就不會有 DOS 窗口,如果你建立的是 Win32 控制台程序,那麼就會有 DOS 窗口;如果你使用 OpenGL 實用庫來創建 OpenGL 程序,那個 DOS 窗口是無法消除的,它可以幫助你進行錯誤排查
9. 不要用 Dev C++ 了,用 VS2010 吧,這是行業規范
最後,祝樓主學習愉快
『柒』 高手進,關於C語言在windows上建立多線程的問題(VC6.0上實現)
原因 是 在使用CreateThread 會造成一些 資源的無法釋放 比如c++對象
當然原因不止這些 還很有幾個 詳情 你可以參考windows核心編程
『捌』 在vc中用C語言編寫程序,多線程編程,可以讓每一個線程開啟一個控制台不急切……
能不能在每個線程里調用函數system("start");??
不知道是不是你想要的, 我試了一下,直接用系統調用函數能夠打開窗口. 但是打開後默認的路徑是當前編譯文件所在的路徑.
『玖』 有windows上C語言開發多線程socket通信的例子么
http://www.jb51.net/article/44156.htm
這里的OK不?