• <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 - 149,comments - 125,trackbacks - 0
            摘自:
            http://liuaigui.blog.sohu.com/86494742.html

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

            可重入(Reentrant):函數可以由多于一個線程并發使用,而不必擔心數據錯誤??芍厝牒瘮悼梢栽谌我鈺r刻被中斷,稍后再繼續運行,不會丟失數據。可重入性解決函數運行結果的確定性和可重復性??芍厝牒瘮稻帉懸幏稙椋?br>1、不在函數內部使用靜態或全局數據
            2、不返回靜態或全局數據,所有數據都由函數的調用者提供。
            3、使用本地數據,或者通過制作全局數據的本地拷貝來保護全局數據。
            4、如果必須訪問全局變量,利用互斥機制來保護全局變量。
            5、不調用不可重入函數。

            兩者之間的關系:
            1、一個函數對于多個線程是可重入的,則這個函數是線程安全的。
            2、一個函數是線程安全的,但并不一定是可重入的。
            3、可重入性要強于線程安全性。

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

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

            在另一篇博文中,是這樣解釋的:
            strtok不是一個線程安全的函數。因為根據其定義,它必須使用內部靜態變量來記錄字符串中下一個需要解析的標記的當前位置。但是,由于指示這個位置的變量只有一個,那么,在同一個程序中出現多個解析不同字符串的strtok調用時,各自的字符串的解析就會互相干擾。(摘自: http://hi.baidu.com/pigfanfan/blog/item/72816c958d63e743d1135ebf.html

            怎么避免呢?
            我們可以利用另一個函數:strtok_r,這個是一個線程安全的函數——strtok_r,以此來代替strtok。
            posted on 2009-10-22 17:33 Sandy 閱讀(1596) 評論(0)  編輯 收藏 引用 所屬分類: 面試總結
            亚洲色大成网站www久久九| 久久精品中文无码资源站 | 亚洲国产香蕉人人爽成AV片久久| 日本精品久久久久中文字幕8| 91精品国产91久久久久久青草 | 久久久久久无码国产精品中文字幕| 久久天天躁狠狠躁夜夜不卡 | 色欲综合久久躁天天躁| 国产A三级久久精品| 亚洲午夜久久久精品影院| 久久久噜噜噜久久中文字幕色伊伊| 波多野结衣AV无码久久一区| 国产精品美女久久久久久2018| 久久影视综合亚洲| 久久国产精品成人影院| 香蕉久久夜色精品国产尤物| 久久精品嫩草影院| 久久久噜噜噜www成人网| 久久99精品免费一区二区| 韩国免费A级毛片久久| 久久久久亚洲精品日久生情| 久久激情亚洲精品无码?V| 欧美大香线蕉线伊人久久| 热久久最新网站获取| 精品久久久久久久久久中文字幕 | 午夜精品久久久久久久久| 久久综合给合综合久久| 国产精品永久久久久久久久久 | 久久天天躁狠狠躁夜夜2020老熟妇| 久久久久久九九99精品| 777午夜精品久久av蜜臀| 久久精品国产福利国产琪琪| 久久久久久久尹人综合网亚洲| 久久久久人妻一区精品性色av| 国产精品久久久久久久人人看| 久久精品无码专区免费 | 久久久精品人妻一区二区三区四| 久久精品国产免费观看| 国产精品一区二区久久精品涩爱 | 无码任你躁久久久久久| 欧美与黑人午夜性猛交久久久 |