原创 Magnus Ahltorp的Mysql Driver

Magnus Ahltorp編寫了Erlang訪問Mysql數據庫的Driver,其中我分析下存在以下的問題:  1. 數據庫連接池選擇算法使用循環,無加鎖,那麼連接池中一個連接可以被多個進程同時訪問,這種情況下對處理事務是不可取的,事務

原创 C/C++程序內存中數據存儲區分類

C/C++中,內存中數據存儲分成4個區,分別是堆、棧、全局/靜態存儲區和常量存儲區。      棧(stack),就是那些由編譯器在需要的時候分配,在不需要的時候自動清除的變量的存儲區。裏面的變量通常是局部變量、函數參數等。      堆

原创 剛剛纔找回這個賬號

自從CSDN賬號被盜後,這個號一直都沒有上了,剛剛纔申訴回來,表示慶賀!!

原创 I/O複用簡述

     當應用程序打開文件成功時,內核嚮應用程序返回一個fd,稱之爲文件描述符,那麼應用程序通過文件描述符通過內核來訪問這個文件,對文件進行I/O操作。那麼有種場景是一個進程需要同時處理多個文件描述符,每個文件描述符對應一個I/O處理,

原创 pic test

原创 Linux重定向

1. 什麼是標準文件     shell爲每個命令打開三個文件(流),用於              讀取輸入——標準輸入——鍵盤              輸出結果——標準輸出——顯示屏(控制檯)              輸出錯誤消息

原创 erlang中pg2模塊使用

pg2這個模塊實現了進程組的功能。這個模塊之前有個模塊爲pg,pg模塊的進行組中消息將被髮送到組內的每個進程,但是pg2卻不同,它可以選擇性地將消息

原创 Erlang中的並行編程

Erlang中的並行編程: 定義: Process :併發執行的活動的個體,是個完整的虛擬機,系統當中可以同時存在多個併發的進程。 Message:進程之間通信的方法。 Timeout:用於等待指定一段時間的,然後決定完成某個動作的機制。

原创 需要體驗的遊戲知識

1. 現在做網頁遊戲如何“糅合”,縱觀遊戲的發展,任何一款新的遊戲的出現,都有糅合的思想。 2. 遊戲如何能給玩家體驗簡單又不簡單? 3. 網頁遊戲的過去“簡單、粗暴、留下買路錢”。 4. 回合制遊戲和即時遊戲本質的區別在哪裏? 5. 永

原创 Erlang中的錯誤處理

1.定義 2.當進程終止的時候退出信號被送出 3.進程退出信號通過鏈接(進程之間的關係)傳播 4.進程能夠捕捉退出信號 5.複雜的退出信號傳播 6.通過分層構建健壯系統 7.用於信號處理的基本概念 8.構建一個健壯的服務器 9.帶有錯誤恢

原创 設置用戶ID的程序調用system危險

system函數實現調用了fork, exec和waitpid。如果調用system的程序設置了用戶ID,那麼在fork,exec後的進程,保存了父進程的權限。當一個進程執行某個程序時,如果程序設置來用戶ID,那麼進程的有效用戶ID將被設

原创 一些讀書隨筆(2)

1. 多個人做一件事情的時候,可能需要同步。如果不考慮執行順序的情況下,每次得到的結果一樣的,那麼無需同步,但是,如果按照不同的執行順序,得到不同的結果,而且其中只有部分結果是正確的,那麼需要同步。如食堂排隊,打飯員每次只能爲一個人打飯打

原创 一些複習筆記

1. sigsetjmp,siglongjmp出現是因爲setjmp,longjmp對信號的支持不明確。當進程捕捉到一個信號的時候,進入信號處理程序,那麼這個時候如果再次發生這個信號,那麼該信號將會自動加到信號屏蔽字中。這樣處理的原因是,

原创 幾個容易混淆的重定向

進程預定義了三個文件描述符,分別是STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO。分別是標準輸入,標準輸出,標準錯誤輸出。 例如: $cat file1  默認輸出是標準輸出 $tee     默認從標準

原创 一些讀書隨筆(1)

1. 看了進程之間通信,想消息隊列與共享內存區別在哪裏?因解決什麼問題而共同需要他們,而不能合併爲一,因之前缺少這方面的經驗,問的問題可能比較簡單?但不妨礙對於問題入口的思考。他們都可以用於進程之間通信,但是我要區別我讀到了主要表現在這