Category Archives: 英文

第一次遇到Deadlock

凡事都要來個第一次,這兩天遇到一個deadlock,是我第一次遇到deadlock,其實很多deadlock都很明顯可以避免掉,但有些就不明顯,這次遇到的deadlock,是因為正在開發一個DirectShow的應用程式,我使用Python把核心部份寫好包裝成Extension給Python使用來加速開發,不然每次光等編譯就等到睡著 我使用DirectShow 的 Sample Grabber filter來抓取從DirectShow播放出來的音樂,DirectShow的graph會建立一個thread來處理事情,而它使用一個callback來回傳資料,好死不死,我的程式從Python的程式碼的Main thread呼叫graph的stop,但是stop似乎會等callback回傳,再來又好死不死的,callback因為要把資料丟回Python,要求Python的GIL,所謂的GIL就是Python直譯器的lock,整個Python行程只有一個,所以就變成下列情況 Main thread (hold GIL) -> call stop(Wait for callback) -> Callback acquire GIL -> GIL….(Hold by main thread) 囧… 這幾個笨蛋(設計的人比較笨),就這樣一直癡癡地等下去,等到天荒地老都沒有人會理他們,這真是悲慘….,所以在寫multi-threading的程式時一定要特別小心,明顯的deadlock當然是很容易避免,但是像這種文件上沒說清楚,隱涵著lock,又繞了一圈的情況,就很難一開始想到

Posted in Python, 中文文章, 英文 | Tagged , | 3 Comments

Meta的意思

介紹英文字首meta的意思 Continue reading

Posted in 中文文章, 英文 | Tagged , | 3 Comments

購買WebFaction網頁主機服務指導

比較國內和國外 每次說到國內和國外的主機商,我都想說”XX比雞腿”,真的是不能比,我們隨便找一家國內的知名主機商來和我這一系列ez2learn的網站所架在的主機商WebFaction比較看看 智邦生活館 WebFaction 智邦的年費要 1200 元新台幣 新台幣,我們來看WebFaction最低階的,五年約的主機,5.5美金每個月,一年就是66美金,以匯率以現在的33.3800654下去計算,一年是 2203 元台幣 重點在後面,我們來比比看同樣價格下有多少資源可以使用 智邦和WebFaction虛擬主機比較表 資源 智邦 WebFaction 最低價年費 1200 2203 硬碟空間 2GB 10GB 每月免費流量 10GB 600GB 價錢空間比 600 220.3 價錢流量比 120 3.67 很明顯地,怎麼算隨便一家國外的主機商都可以把國內的主機商打得死死的,怎麼比? 根本沒辦法比,而且除了這些可以數值化的價錢、資源可以比較,還有一些是沒辦法比較的,如同在我這個網站的主機商 : WebFaction中所提到的,他們有一個團隊的優秀客服,負責解決客戶在技術上遇到的問題,他們甚至建立了整個的知識庫來記錄這些問題,他們的客服都是很有經驗的,雖然我沒用過智邦,但另一家國內的主機商的客服來說,國內的主機商肯定辦不到找一群有經驗的客服來解決客戶遇到技術上的問題,這只是客服的部份,還有主機技術上的支援,不要說國內的主機,國外的主機都很少有支援Python、Ruby、TurboGears、Django等等國內較少見的網頁開發環境,國內有的就只有老掉牙的LAMP (Linux Apache MySQL PHP),會選擇WebFaction是因為他們支援TurboGears,因為WebFaction注重在於支援那些開發環境和客服,所以就流量和空間等等的資源上,已經算是比較沒有那麼強,有很多主機商如果只支援LAMP那樣的網頁環境的話,資源的差距那更是天差地遠,總合以上幾點的結論是,真的是”XX比雞腿”,怎麼比? 沒辦法比,國外的主機商市場那麼大,國內這麼小,價格和服務當然沒辦法比 那PHP呢? … Continue reading

Posted in 中文文章, 分享, 網站, 英文 | Tagged , , | 12 Comments