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

                # 上下文 我們在講進程、線程的時候多次提及了上下文切換,上下文其實在我們生活中也經常遇到,可能只是我們沒有細心留意。 ### 什么是上下文? 上小學考試的時候,經常我們試卷上會有一段文章的句子,讓我們解釋出那句話的前因后果;我們也學過承上啟下,上下文跟這個差不多,根據文章前面的內容和后面的內容得知這句話的意思。不然給你一段話,你根本不知道這段話出現在文章的這個地方表示什么。 例如:我和她假期去旅游。 這句話我們可以引出三個問題。她是指的誰?假期是哪個假期?去哪里旅游?貿然的給我們一句話我們不知道這段話說的意思。因為這段話沒有上文也沒有下文,我們不知道說的`她`是誰;還有這個`假期`是過去式還是將來時;如果這句話改一改,把上下文帶進來。 下面是小明和小強的對白: 小明:小強不好意思啊。我假期沒空和你一起加班了。 小強:為什么啊? 小明:我和她假期去旅游。 小強:和誰去哪呢? 小明:小紅啊,她說五一有空,我和她一起出去三亞下海。 小強:滾吧,重色輕友的混蛋。 這樣就有了上下文,我們就知道這個`她`是誰,`假期`是什么時候,`目的地`是哪里。這就是語文里面理解的上下文的左右。 上下文沒有具體的解釋,也沒有某一個具體的實例來解釋,上下文會根據應用程序的生命周期而變化。也就是說同樣的一句話在不同的上下文環境中,所表示的意思不一樣。 ### 為什么使用上下文? 我們理解了什么是上下文,那么我們說說編程里面的上下文,說白了編程里面的上下文就是一個環境。跟前面了解的情況一下,沒有上下文我們不知道某一個變量處于某一個時刻或者某一進程,線程代表什么意思。因此上下文就是告訴這些變量所處的位置,例如一個進程切換的時候需要保存進程的狀態,資源保護好現場,等到再次切換回來的時候從中斷的地方恢復。 ![](https://img.kancloud.cn/95/30/953042bf5d93bc7e9e5c577f95a4810f_1398x810.png) <center>圖:3.1-1</center> 如圖:3.1-1所示,我們在每一個請求都有變量、數據庫資源、文件資源等等。在不同的上下文環境中,這些請求的值所表示不一樣的內容。例如在請求1中userid是1002,在請求2中userid是999。 在使用常駐內存框架的時候很多時候為了性能,控制器會弄成單例的,所以我們在使用的時候不能像以往在fpm模式下開發一樣,使用基類來繼承屬性在控制器使用共同屬性;例如我們在中間件做授權驗證,如果想要把這個用戶id繼續傳到控制器使用,怎么辦呢?我們又不能通過基類的方式來繼承,這時候可以把這個id掛載到上下文中。 ### 為什么在php-fpm不需要上下文? 其實在php-fpm模式開發我們經常不需要管理上下文,因為在php-fpm模式開發不是常駐內存的,并且php-fpm幫我們管理了上下文,不需要開發者自己管理,而在常駐內存開發中需要維護每個請求的環境。
                  <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>

                              哎呀哎呀视频在线观看