• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            桃源谷

            心靈的旅行

            人生就是一場旅行,不在乎旅行的目的地,在乎的是沿途的風景和看風景的心情 !
            posts - 32, comments - 42, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            Unix/Linux

            posted @ 2010-08-01 13:19 lymons 閱讀(7373) | 評論 (3)  編輯 |

                 摘要: 在C++下編寫synchronized method比較難 (1)CommentsAdd star

            在Java中有叫做synchronized這樣一個方便的關(guān)鍵字。使用這個關(guān)鍵字的話,就可以像下面那樣能夠簡單的進行"同步"method. 然而,被同步的method并不表示它就能在多線程中同時被執(zhí)行.   閱讀全文

            posted @ 2010-07-17 12:17 lymons 閱讀(3347) | 評論 (0)  編輯 |

                 摘要: W2K信號(Signals)的設(shè)備驅(qū)動

            Unix下的信號提供了一個簡單的IPC機制,也就是當進程收到一個信號后會異步(asynchronous) 地調(diào)用你的信號處理函數(shù)(也叫做句柄),不管你的代碼是否已經(jīng)處在執(zhí)行的過程之中。 而在Windows 2000(譯者注:版本高于W2k的Windows平臺)下就需要用到一個設(shè)備驅(qū)動,以便你能使用異步過程調(diào)用(asynchronous procedure calls , 簡稱APCs或者APC) 來達成同樣的效果.

            By Panagiotis E.
            August 01, 2001
            URL:http://www.ddj.com/windows/184416344

            翻譯:Lymons (lymons@gmail.com)
              閱讀全文

            posted @ 2010-04-13 10:29 lymons 閱讀(2294) | 評論 (0)  編輯 |

            posted @ 2009-02-02 13:08 lymons 閱讀(2054) | 評論 (0)  編輯 |

            posted @ 2009-02-02 12:54 lymons 閱讀(1240) | 評論 (1)  編輯 |

            posted @ 2009-02-02 12:31 lymons 閱讀(4748) | 評論 (0)  編輯 |

            posted @ 2009-02-02 11:58 lymons 閱讀(1131) | 評論 (0)  編輯 |

            posted @ 2009-02-02 11:28 lymons 閱讀(524) | 評論 (0)  編輯 |

                 摘要: 「Code Reading―從開源里學習軟件開發(fā)的技法」有這樣一本書。我是這本書日本版的譯者, 呵呵有點王婆賣瓜---自賣自夸的感覺,但是把讀源代碼作為主題的在市面還沒有其他的書。我認為這是一本網(wǎng)羅了從技法到工具,數(shù)據(jù)結(jié)構(gòu),構(gòu)架,還有利用代碼的實際讀法的實例的好書。

            照片1●「Code Reading―跟著開源來學習軟件的開發(fā)技法」
             這本書的前言里,編程高手Dave Thomas寫下了下面的話。
             沒有研讀過其他作家作品的偉大作家,沒有研究過其他畫家筆法的偉大畫家,沒有盜取過并肩作戰(zhàn)的同事的技術(shù)的技巧高明的外科醫(yī)生,沒有在副駕駛的位置積累實際經(jīng)驗的波音767的機長,在現(xiàn)實生活中真的會存在他們這樣的人嗎?  閱讀全文

            posted @ 2009-02-01 15:54 lymons 閱讀(5636) | 評論 (0)  編輯 |

            posted @ 2009-02-01 15:41 lymons 閱讀(1469) | 評論 (1)  編輯 |

            posted @ 2008-12-29 17:11 lymons 閱讀(2700) | 評論 (0)  編輯 |

            posted @ 2008-12-25 14:08 lymons 閱讀(1322) | 評論 (0)  編輯 |

            posted @ 2008-12-19 11:01 lymons 閱讀(1270) | 評論 (0)  編輯 |

                 摘要: 在高級語言例如C++中有效的使用共享內(nèi)存并不是一件淺顯易懂的事情,但是它也能克服這些內(nèi)在的困難。這篇文章描述了在Linux上使用共享內(nèi)存的兩個C++設(shè)計模式并包含了樣例代碼,以及給讀者打開了更有效的進程間通信的一扇門。

            在面向?qū)ο笙到y(tǒng)中,當一個對象接收到一個消息時它能夠發(fā)送一套事件。這些事件主要在同步模式下被處理。這個調(diào)用進程或者線程在發(fā)送消息調(diào)用完成之前,發(fā)送給對象一個消息和處理事件。然而,如果這個對象送出這些被更多的進程共享以及駐留在內(nèi)存里的事件,情況就稍微的發(fā)生了一些變化。

            這篇文章用兩個C++的設(shè)計模式詳細的描述了上述的情況,并且用一些例子程序闡明了解決方案。
              閱讀全文

            posted @ 2008-06-01 21:41 lymons 閱讀(874) | 評論 (0)  編輯 |

                 摘要: Unix跟Windows等那些”對于開發(fā)者易于使用”的OS比起來,在信號和線程的利用方面有諸多的限制。但是即使不知道這些知識就做構(gòu)架設(shè)計和實現(xiàn)的情況也隨處可見。這個就是那些經(jīng)常不能再現(xiàn)的bug的溫床吧。

            因此,我想分成幾回來寫一些準則來防止陷入到這些圈套里。

            準則1:不依賴于信號收發(fā)的設(shè)計

            ·給其他進程以及自己發(fā)送異步信號并改變處理流程的設(shè)計不要做

            異步信號是值用kill系統(tǒng)調(diào)用來創(chuàng)建?發(fā)送的信號、例如SIGUSR1,SIGUSR2,SIGINT,SIGTERM 等
            簡單的使用忽略信號(SIG_IGN)則沒有問題
            ·不要把線程和信號一起使用
              閱讀全文

            posted @ 2008-06-01 20:27 lymons 閱讀(1376) | 評論 (0)  編輯 |

                 摘要: 準則2: 要知道信號處理函數(shù)中可以做那些處理
            · 在用sigaction函數(shù)登記的信號處理函數(shù)中可以做的處理是被嚴格限定的
            · 僅僅允許做下面的三種處理
            1. 局部變量的相關(guān)處理
            2. “volatile sig_atomic_t”類型的全局變量的相關(guān)操作
            3. 調(diào)用異步信號安全的相關(guān)函數(shù)
            · 以外的其他處理不要做!  閱讀全文

            posted @ 2008-06-01 20:22 lymons 閱讀(2261) | 評論 (0)  編輯 |

                 摘要: 在多線程程序里,在”自身以外的線程存在的狀態(tài)”下一使用fork的話,就可能引起各種各樣的問題.比較典型的例子就是,fork出來的子進程可能會死鎖.請不要,在不能把握問題的原委的情況下就在多線程程序里fork子進程.  閱讀全文

            posted @ 2008-06-01 20:16 lymons 閱讀(13056) | 評論 (0)  編輯 |

                 摘要: 隱鋒同學的blog上有關(guān)于libxml2的一篇文章,正好最近要使用這個庫來處理xml文件。
            不過在測試時我們發(fā)現(xiàn)用文章里F. 添加屬性例程代碼 時,添加的keyword結(jié)點后面沒有回車,
            跟后面的結(jié)點擠在一行了,不是很好看。
            例如,以下的xml例子文件  閱讀全文

            posted @ 2007-11-30 13:44 lymons 閱讀(10133) | 評論 (8)  編輯 |

                 摘要: Linux 文件鎖是建議鎖,也有人把它叫做記錄鎖,是通過系統(tǒng)調(diào)用fcntl(2)來實現(xiàn)的。
            這種鎖在鎖定文件時有兩種模式,分別是阻塞(block)和非阻塞模式。
            在編碼時比較常用的是有一種的非阻塞模式,也就是發(fā)現(xiàn)文件已經(jīng)被其他進程
            鎖定時,立即返回不予等待。而阻塞模式則正好與它相反,也就是一直等待直到
            其他進程釋放文件鎖為止。
            注:關(guān)于詳細內(nèi)容請參看《Unix環(huán)境高級編程》

            不過,有的時候也會用到阻塞模式的文件鎖,而且會要求不能被一直阻塞,等待
            了一定時間后應返回。也就是說,想給阻塞版本的文件鎖加上一個超時時間(timeout)。

            通過man手冊,fcntl(2)里面沒有關(guān)于在阻塞模式時,設(shè)置超時時間的任何描述。
            但從man手冊里我們發(fā)現(xiàn),文件鎖在阻塞時會被信號(signal)中斷。所以我們就像
            可以利用設(shè)置信號軟中斷來實現(xiàn)一個自己版本的等待超時呢。  閱讀全文

            posted @ 2007-11-26 14:52 lymons 閱讀(2457) | 評論 (0)  編輯 |

            我的個人簡歷第一頁 我的個人簡歷第二頁
            久久精品国产精品亚洲艾草网美妙| 日本精品久久久久久久久免费| 一本久道久久综合狠狠躁AV| 青草久久久国产线免观| 久久久精品日本一区二区三区| 久久强奷乱码老熟女网站| 亚洲&#228;v永久无码精品天堂久久 | 久久亚洲AV无码精品色午夜麻豆| 国内精品久久久久久久久电影网 | 婷婷久久五月天| 狼狼综合久久久久综合网| 国产福利电影一区二区三区,免费久久久久久久精 | 国内精品久久久久久99蜜桃| 国产综合精品久久亚洲| 亚洲精品无码专区久久久| 久久久久人妻一区精品果冻| 人妻精品久久久久中文字幕69| 久久亚洲AV无码西西人体| 久久国产高潮流白浆免费观看| 激情五月综合综合久久69| 欧洲人妻丰满av无码久久不卡| 久久精品一区二区三区中文字幕 | 久久e热在这里只有国产中文精品99 | 久久综合成人网| 99热精品久久只有精品| 热re99久久精品国99热| 久久精品国产2020| 色婷婷综合久久久久中文字幕| 国产午夜精品理论片久久影视| 久久久久久国产精品美女| 久久久精品国产亚洲成人满18免费网站 | 久久久久人妻精品一区二区三区| 精品久久久久国产免费| 国产精品久久久久aaaa| 日韩精品久久无码人妻中文字幕 | 97久久精品无码一区二区天美| 欧美精品九九99久久在观看| 婷婷久久综合九色综合绿巨人 | 国产精品无码久久综合| 国产亚洲欧美精品久久久| 久久精品国产色蜜蜜麻豆|