• <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 閱讀(7407) | 評論 (3)  編輯 |

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

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

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

                 摘要: W2K信號(Signals)的設備驅動

            Unix下的信號提供了一個簡單的IPC機制,也就是當進程收到一個信號后會異步(asynchronous) 地調用你的信號處理函數(shù)(也叫做句柄),不管你的代碼是否已經處在執(zhí)行的過程之中。 而在Windows 2000(譯者注:版本高于W2k的Windows平臺)下就需要用到一個設備驅動,以便你能使用異步過程調用(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 閱讀(2326) | 評論 (0)  編輯 |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            我的個人簡歷第一頁 我的個人簡歷第二頁
            av无码久久久久久不卡网站 | 中文无码久久精品| 99久久无色码中文字幕人妻| 久久午夜无码鲁丝片秋霞| 久久国产亚洲高清观看| 亚洲国产精品嫩草影院久久| 久久久久人妻精品一区二区三区| 久久青草国产精品一区| 久久中文字幕人妻熟av女| 久久er国产精品免费观看2| 欧美亚洲国产精品久久久久| 久久天堂电影网| 亚洲精品无码久久久久去q | 精品免费tv久久久久久久| 久久精品国产清自在天天线| 欧洲成人午夜精品无码区久久 | 人人狠狠综合久久亚洲婷婷| 2021国内久久精品| 久久久久亚洲AV成人网人人软件| 久久久久亚洲精品天堂| 久久人人爽人人爽人人片av麻烦| 精品久久久无码中文字幕| 精品国产VA久久久久久久冰| 日本强好片久久久久久AAA| 伊人久久无码精品中文字幕| 久久人人爽人人爽AV片| 9999国产精品欧美久久久久久| 久久亚洲精精品中文字幕| 久久无码人妻一区二区三区| 久久久久av无码免费网| 午夜久久久久久禁播电影| 伊人色综合久久天天人手人婷| 久久成人小视频| 伊人久久久AV老熟妇色| 色偷偷88888欧美精品久久久| 亚洲欧美成人综合久久久| 一本一本久久aa综合精品| 亚洲狠狠婷婷综合久久久久| 久久香蕉超碰97国产精品| 久久国产一区二区| 久久精品成人免费观看97|