• <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>
            春暖花開
            雪化了,花開了,春天來(lái)了
            posts - 149,comments - 125,trackbacks - 0
            摘自:
            http://liuaigui.blog.sohu.com/86494742.html

            線程安全的(Thread-Safe):如果一個(gè)函數(shù)在同一時(shí)刻可以被多個(gè)線程安全地調(diào)用,就稱該函數(shù)是線程安全的。線程安全函數(shù)解決多個(gè)線程調(diào)用函數(shù)時(shí)訪問共享資源的沖突問題。

            可重入(Reentrant):函數(shù)可以由多于一個(gè)線程并發(fā)使用,而不必?fù)?dān)心數(shù)據(jù)錯(cuò)誤。可重入函數(shù)可以在任意時(shí)刻被中斷,稍后再繼續(xù)運(yùn)行,不會(huì)丟失數(shù)據(jù)。可重入性解決函數(shù)運(yùn)行結(jié)果的確定性和可重復(fù)性。可重入函數(shù)編寫規(guī)范為:
            1、不在函數(shù)內(nèi)部使用靜態(tài)或全局?jǐn)?shù)據(jù)
            2、不返回靜態(tài)或全局?jǐn)?shù)據(jù),所有數(shù)據(jù)都由函數(shù)的調(diào)用者提供。
            3、使用本地?cái)?shù)據(jù),或者通過制作全局?jǐn)?shù)據(jù)的本地拷貝來(lái)保護(hù)全局?jǐn)?shù)據(jù)。
            4、如果必須訪問全局變量,利用互斥機(jī)制來(lái)保護(hù)全局變量。
            5、不調(diào)用不可重入函數(shù)。

            兩者之間的關(guān)系:
            1、一個(gè)函數(shù)對(duì)于多個(gè)線程是可重入的,則這個(gè)函數(shù)是線程安全的。
            2、一個(gè)函數(shù)是線程安全的,但并不一定是可重入的。
            3、可重入性要強(qiáng)于線程安全性。

            比如:strtok函數(shù)是既不可重入的,也不是線程安全的。加鎖的strtok不是可重入的,但線程安全。而strtok_r既是可重入的,也是線程安全的

            之所以會(huì)去查這個(gè)問題,是在考試中遇到過考strtok這個(gè)問題是否可用于多線程。自己從使用的角度上感覺不安全,但是究其原因卻不是很明白。查了一下,居然涉及到函數(shù)的線程安全。

            在另一篇博文中,是這樣解釋的:
            strtok不是一個(gè)線程安全的函數(shù)。因?yàn)楦鶕?jù)其定義,它必須使用內(nèi)部靜態(tài)變量來(lái)記錄字符串中下一個(gè)需要解析的標(biāo)記的當(dāng)前位置。但是,由于指示這個(gè)位置的變量只有一個(gè),那么,在同一個(gè)程序中出現(xiàn)多個(gè)解析不同字符串的strtok調(diào)用時(shí),各自的字符串的解析就會(huì)互相干擾。(摘自: http://hi.baidu.com/pigfanfan/blog/item/72816c958d63e743d1135ebf.html

            怎么避免呢?
            我們可以利用另一個(gè)函數(shù):strtok_r,這個(gè)是一個(gè)線程安全的函數(shù)——strtok_r,以此來(lái)代替strtok。
            posted on 2009-10-22 17:33 Sandy 閱讀(1609) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 面試總結(jié)
            四虎国产精品免费久久| 亚洲伊人久久成综合人影院 | 亚洲AV日韩AV天堂久久| 性高湖久久久久久久久| 国产精品久久久久天天影视| 国产精品内射久久久久欢欢| 久久久SS麻豆欧美国产日韩| 亚洲嫩草影院久久精品| 亚洲国产欧美国产综合久久| 国产精品无码久久四虎| 日本强好片久久久久久AAA| 国产精品久久久久久久久久免费| 国内精品人妻无码久久久影院导航| 成人国内精品久久久久影院| 午夜精品久久久久成人| 人人狠狠综合久久亚洲婷婷| 久久WWW免费人成一看片| 国内精品久久久久久麻豆 | 国产精品久久久久jk制服| 久久久久国产一级毛片高清板| 久久综合亚洲欧美成人| 久久亚洲精品成人无码网站| 国产成人无码精品久久久免费 | 精品久久久久久无码中文野结衣| 久久婷婷五月综合色高清| 日日狠狠久久偷偷色综合0| 99久久精品国产一区二区| 精品国产乱码久久久久久1区2区 | 欧洲人妻丰满av无码久久不卡 | 久久国产精品无码一区二区三区| 亚洲va久久久久| 无码乱码观看精品久久| 久久一区二区免费播放| 精品久久久久久国产免费了| 国产精品成人久久久久久久| 九九久久精品无码专区| 久久精品成人欧美大片| 久久无码人妻精品一区二区三区| 久久夜色撩人精品国产| 7777久久久国产精品消防器材| 久久精品一区二区三区AV|