<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Kotlin/Native 中的不可變性 Kotlin/Native 實現了嚴格的可變性檢測,確保了重要的不變式:對象要么不可變,要么在同一時刻只在單個線程中訪問(`mutable XOR global`)。 在 Kotlin/Native 中不可變性是運行時屬性,可以將 `kotlin.native.concurrent.freeze` 函數應用到任意對象子圖。它使從給定的對象遞歸可達的所有對象都不可變,這樣的轉換是單向操作(即這些對象之后不能解凍)。一些天然不可變的對象(如 `kotlin.String`、 `kotlin.Int` 與其他原生類型,以及 `AtomicInt` 與 `AtomicReference`)默認就是凍結的。如果對已凍結對象應用了修改操作,那么會拋出 `InvalidMutabilityException` 異常。 為了實現 `mutable XOR global` 不變式,所有全局可見狀態(目前有`object` 單例與枚舉)都會自動凍結。如果對象無需凍結,可以使用 `kotlin.native.ThreadLocal` 注解,這會使該對象狀態成為線程局部的,因此可修改(但是變更后的狀態對其他線程不可見)。 非基本類型的頂層/全局變量默認只能在主線程(即首先初始化 _Kotlin/Native_ 運行時的線程)中訪問。在其他線程中訪問會引發 `IncorrectDereferenceException` 異常。如需其他線程可訪問這種變量,可以使用 `@ThreadLocal`注解將該值標記為線程局部,或者使用 `@SharedImmutable` 注解,它會凍結該值并使其他線程可訪問。 `AtomicReference` 類可用于將變更后的凍結狀態發布給其他線程,從而構建共享緩存等模式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看