• <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>

            桃源谷

            心靈的旅行

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

            Unix/Linux

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

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

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

            posted @ 2010-07-17 12:17 lymons 閱讀(3355) | 評(píng)論 (0)  編輯 |

                 摘要: W2K信號(hào)(Signals)的設(shè)備驅(qū)動(dòng)

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

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

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

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

            posted @ 2009-02-02 13:08 lymons 閱讀(2066) | 評(píng)論 (0)  編輯 |

            posted @ 2009-02-02 12:54 lymons 閱讀(1250) | 評(píng)論 (1)  編輯 |

            posted @ 2009-02-02 12:31 lymons 閱讀(4759) | 評(píng)論 (0)  編輯 |

            posted @ 2009-02-02 11:58 lymons 閱讀(1144) | 評(píng)論 (0)  編輯 |

            posted @ 2009-02-02 11:28 lymons 閱讀(536) | 評(píng)論 (0)  編輯 |

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

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

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

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

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

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

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

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

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

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

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

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

            因此,我想分成幾回來(lái)寫(xiě)一些準(zhǔn)則來(lái)防止陷入到這些圈套里。

            準(zhǔn)則1:不依賴(lài)于信號(hào)收發(fā)的設(shè)計(jì)

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

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

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

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

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

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

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

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

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

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

            不過(guò),有的時(shí)候也會(huì)用到阻塞模式的文件鎖,而且會(huì)要求不能被一直阻塞,等待
            了一定時(shí)間后應(yīng)返回。也就是說(shuō),想給阻塞版本的文件鎖加上一個(gè)超時(shí)時(shí)間(timeout)。

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

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

            我的個(gè)人簡(jiǎn)歷第一頁(yè) 我的個(gè)人簡(jiǎn)歷第二頁(yè)
            久久久久久久精品妇女99| 国产精品日韩深夜福利久久| 99热成人精品免费久久| 国内精品久久久久影院免费| 亚洲av日韩精品久久久久久a | 合区精品久久久中文字幕一区| 国产精品美女久久久久久2018| 久久国产热精品波多野结衣AV| 久久AV高清无码| 99久久国产亚洲高清观看2024| 久久亚洲精品无码观看不卡| 理论片午午伦夜理片久久 | 7777久久久国产精品消防器材| 一本一本久久a久久综合精品蜜桃| 亚洲国产欧美国产综合久久| 精品久久久久久久久午夜福利| 久久电影网一区| 久久久久亚洲AV无码去区首| 大香伊人久久精品一区二区| 久久久精品国产sm调教网站| 国产AV影片久久久久久| 久久久SS麻豆欧美国产日韩| 久久久综合九色合综国产| 中文精品99久久国产| 99久久国产综合精品网成人影院| 综合久久一区二区三区 | 国产成人精品久久一区二区三区| 超级碰久久免费公开视频| 一本一本久久aa综合精品| 久久精品国产国产精品四凭| 777米奇久久最新地址| 久久精品免费一区二区| 久久久久99精品成人片牛牛影视| 性做久久久久久久| 久久人人青草97香蕉| 国产精品久久久久久久午夜片| 91精品国产9l久久久久| 久久久国产精品亚洲一区| 国产aⅴ激情无码久久| 久久综合视频网| 久久午夜福利无码1000合集|