五刷 1200 冊 (2007           )  
四刷 2000 冊 (2005/05/21)  
三刷 1000 冊 (2004/11/xx)  
二刷 6000 冊 (2002/03/27)  
一刷 6000 冊 (2002/01/18)  

《Win32 多線程程序設計》
Multitherading Application in Win32   簡體中文版

侯捷 譯

multithreading-in-win32-gb.jpg (603111 bytes)

簡體版 勘誤



侯捷譯序

thread就是「線」。臺灣計算機術語採用「緒」這個譯詞,「緒」就是「線」的雅稱,multithread就是「多緒」。大陸計算機術語採用「線程」一詞,multithread就是「多線程」。

Threads(線程)是比processes(進程)更小的執行單元,CPU的排程與時間分配皆以threads為對象。

計算機領域中早就存在threads的觀念和技術,但是早期個人電腦作業系統(主要是DOS),別說multithread,連multitask, multiuser亦不可得。因此,從當時,乃至延伸至今,threads的概念和功能對許多非計算機科班出身者而言,屬於一種「崇高難以親近」的位階,對許多計算機科班出身者而言,卻又只是「操作系統」這門課裡頭高高在上的一個名詞。

本書第一章第一句話,值得玩味:『電腦工業界每有新的技術問世,人們總是不遺餘力地去擔憂它是不是夠重要。公司行號虎視眈眈地注意其競爭對手,直到對方採用並宣揚這技術有多麼重要,才開始急急趕上。不論這技術是不是真的很重要,每一個人都想盡辦法讓終端用戶感覺真的很重要。終端用戶終於真的覺得需要它了 -- 即使他們完全不瞭解那是什麼東西。』

threads大約就是這麼一種東西吧。OS/2、Windows NT、Windows 95這類「新一代PC作業系統」初上市時,便一再強調其強制性多工(preemptive multitasking)的多緒(multithreaded)環境。拜強勢行銷之賜,霎時間線頭到處飛舞,高深的計算機術語在街巷里弄之間傳播了開來,頗有點 "Neural Fuzzy" 洗衣機的味道。

這倒也算好事!

搞不清楚threads是什麼,對終端用戶而言或許沒有關係,對技術人可就不妙。Threads絕對可以縮短程式的執行時間嗎?應該儘量多產生threads來幫助程序工作嗎?任何種類的程序都可以獲得multithreads的好處嗎?錯!錯!錯!似是而非的觀念可能把你的程序帶往更壞(而非更好)的境界。

Threads不是新東西,但它藉著 Windows 的龐大裝機量初次廣泛進入個人電腦世界,帶給個人電腦巨大的衝擊。產生threads毫無困難,要它們分工,容易,要它們合作,那可就得花相當心思。Threads不一定帶來好處,運用不當的話它會在執行效率上懲罰你。

Threads是 Win32 作業系統和 Win32 程序設計不可或缺的重要環節,每一本重量級Win32程序設計書籍都不會忽略這個題目(請參考附錄B)。但是這些書多半僅以一章(甚至只是一節)來介紹這個題目。不夠,真的不夠,我們缺乏一本兼具理論並重實際的threads專書。《Multithreading Applications in Win32》的內容兼具理論和實際,輕薄短小的身形則在大部頭書當道的今天讓我們心情輕鬆。這是一本導入性書籍,在threads專書裡頭算是比較容易入口的。但是你必得知道,threads不可能讓你輕鬆學習!同步控制、多線程通訊、資料一致性...在在耗費你的心神,考驗你專心致志的程度。讀這本書,還請你武裝一下自己的精神。

對於中譯本,我有以下兩點說明:

1. 譯本內的程序實例直接取自書附光盤。如果與英文版書面代碼稍有出入,恐怕是因為作者直接在實際程序上做了點小變動而未能及時反應到書面。如果出現這種差異,我會在程序代碼列表之後以譯註的方式告訴你。

2. 譯本保留了相當多的原文技術術語,主要是考慮本書的潛在讀者層。如果不採原文術語,可能各位反而要倒譯回去半看半猜,那麼譯本的價值就適得其反了。許多地方我不厭其煩地在中文術語後面加上原文術語,為的也是同樣的原因。

Multithreading非常重要。當支援多處理器(multiprocessor)的作業系統逐漸普及,具備多處理器的個人電腦也逐漸普及,我相信多線程程序設計是每一位技術人員都必須面對的技術。即便現在,多線程能夠提高多人多工程序的使用者介面(UI)反應度,同樣也是高階技術人員應該追求的目標。

侯捷 新竹 1997.05.31  (2001.01.09重新修潤)
jjhou@jjhou.com
http://www.jjhou.com (繁體中文)
http://jjhou.csdn.net(簡體中文)


出版簡訊 / 華中科技大學出版社計算機圖書策劃中心暨市場部

親愛的讀者朋友﹕您好

由台灣著名IT技術作家侯捷先生翻譯的《Win32多線程程序設計》(簡體中文版)已經由我社正式出版。首次印刷的6000冊已經發往全國各地。

本書採用國際16開本﹐480頁﹐封面為進口250克銅版紙﹐覆光膜﹐內芯為白度很好的70克江蘇高級雙膠紙。封面貼有華中科技大學出版社(原華中理工大學出版社)的激光防偽商標﹐封底貼有Pearson Education公司提供的激光防偽商標(商標上的文字為" Pearson Education")。書脊上則印有Addison Wesley 公司的名字和徽標。

定價﹕59.80元/冊。

本書在全國的首發書店(包括網上書店)名稱和電話均公佈在侯捷網站。如有疑問﹐歡迎發來郵件或到如下網址留言﹕

junzhou@public.wh.hb.cn
http://yeka52.yeah.net
http://yeka.xilubbs.com (好書── 你說﹐我說)

您也可以選擇到我社郵購﹐我們的郵購方式和地址說明如下﹕

地址﹕湖北武漢華中科技大學出版社讀者服務部 郵政編碼﹕430074
郵購方式﹕免收郵費﹐54.00元/本(相當于90折)
請您于匯款的同時﹐發郵件給junzhou@public.wh.hb.cn
以便編輯幫助您監督讀者服務部及時發書。

華儲網上書店是我們在網上的重要經銷商﹐他們服務週到、 及時 、準確﹐因此﹐我們敬向廣大中小城市和農村中買書不方便的讀者鄭重推薦華儲網上書店。(http://www.huachu.com.cn)。

華中科技大學出版社市場部暨計算機圖書策劃中心敬上

附﹕本書在全國各大城市首發的書店和網站如下﹕

沈陽﹕遼寧華儲資訊科技有限責任公司 024-83892148
華儲網上書店(www.huachu.com.cn)

北京﹕海淀圖書城昊海樓電子科技書店 010-62534720﹐62534721
西單圖書大廈 010-66078518
CSDN網站暨《程序員》雜誌社 64993616-270

上海﹕新風雨網絡書城(www.cnforyou.com)021-36033538
中國科技圖書公司 021-63234567
上海交大昂立科技有限公司 32032812﹐32032811

武漢﹕武漢電子科技書店 87879661
武漢市洪山科技圖書發行有限公司 87881657
華中科技大學出版社讀者服務部 87544529

廣州﹕廣州天河天鼎科技圖書有限公司(簡稱天鼎書店) 020-87506587
廣州金地科技有限公司 020-87782496 8765409
深圳﹕深圳市科技書店 3634184﹐ 3634189
深圳大學教材服務中心 6537102﹐ 6534105
天津﹕天津計算機書店(天津市柏特商貿有限公司) 28365950﹐27830190
天津市南開區文友書店 022-27402942
西安﹕西安天意圖書發行有限公司 7441380
陝西省外文書店圖書音像批銷中心 029-7279886
成都﹕成都市都樂科技圖書有限公司 3335219
成都教育考試書店 028-5410792
重慶﹕重慶新華書店(集團)有限責任公司 68428344
重慶交通學院學生工作部 7781659
南京﹕南京科海科技書店 025-3328998
南京市新華書店 (025)6642336
杭州﹕浙江大學科海電子技術公司 0571-7951140
杭州藍晶電子技術開發有限公司 0571-8805813
長沙﹕長沙科技書店 2237168
博源圖書有限公司 0731-4424450
合肥﹕安徽春秋書社科技圖書發行服務部 0551-3661104
合肥市新時代電腦科技書店 0551-3667678
哈爾濱﹕哈爾濱金北方科技開發有限公司 6415498﹐6412070
哈爾濱市學府書店 0451-6608030 6674514
鄭州﹕鄭州金宇科技書店 3942742(13503995165
鄭州電子科技書店 0371-6251394
福州﹕福建省福州市新華書店 0591-7528487
廈門﹕廈門對外圖書交流中心 0592-5054027
大連﹕大連理工大學出版社教育書店 0411-4708970
濟南﹕濟南泉城科技圖書發行有限公司 0531-6950876 699199
山東智能人科技書店 0531-8934878-3
太原﹕山西春雨實有限公司 0351-4122793
蘭州﹕蘭州七里河計算機書店 0931-2311243 8840555

如果您對本書有出版上的意見和建議﹐請您給編輯來信﹕
junzhou@public.wh.hb.cn

感謝您對我們的鼓勵和支持﹐我們會更加努力。緊握您的手
華中科技大學出版社計算機圖書策劃中心暨市場部敬上