日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSThreadLocal

ThreadLocal

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的龍泉驛網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

java.lang.Object

|---java.lang.ThreadLocal

public class ThreadLocal
extends Object

此類提供線程局部變量。 這些變量不同于它們的正常對(duì)應(yīng)變量,因?yàn)槊總€(gè)訪問(wèn)一個(gè)(通過(guò)它的 get 或 set 方法)的線程都有它自己的、獨(dú)立初始化的變量副本。 ThreadLocal 實(shí)例通常是希望將狀態(tài)與線程相關(guān)聯(lián)的類中的私有靜態(tài)字段(例如,用戶 ID 或事務(wù) ID)。

例如,下面的類生成每個(gè)線程本地的唯一標(biāo)識(shí)符。 線程的 id 在第一次調(diào)用 ThreadId.get() 時(shí)被分配,并且在后續(xù)調(diào)用中保持不變。

 import java.util.concurrent.atomic.AtomicInteger;


 public class ThreadId {
     // Atomic integer containing the next thread ID to be assigned
     private static final AtomicInteger nextId = new AtomicInteger(0);


     // Thread local variable containing each thread's ID
     private static final ThreadLocal threadId =
         new ThreadLocal() {
             @Override protected Integer initialValue() {
                 return nextId.getAndIncrement();
         }
     };


     // Returns the current thread's unique ID, assigning it if necessary
     public static int get() {
         return threadId.get();
     }
 }

 

只要線程處于活動(dòng)狀態(tài)并且 ThreadLocal 實(shí)例可訪問(wèn),每個(gè)線程都持有對(duì)其線程局部變量副本的隱式引用; 在線程消失后,它的所有線程本地實(shí)例副本都將受到垃圾回收(除非存在對(duì)這些副本的其他引用)。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
ThreadLocal()創(chuàng)建一個(gè)線程局部變量。

方法總結(jié)

修飾符和類型 方法 描述
Tget()返回此線程局部變量的當(dāng)前線程副本中的值。
protected TinitialValue()返回此線程局部變量的當(dāng)前線程的“初始值”。
voidremove()刪除此線程局部變量的當(dāng)前線程值。
voidset(T value)將此線程局部變量的當(dāng)前線程副本設(shè)置為指定值。
static  ThreadLocalwithInitial(Supplier supplier)創(chuàng)建一個(gè)線程局部變量。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細(xì)信息

ThreadLocal

public ThreadLocal()

創(chuàng)建一個(gè)線程局部變量。

方法詳情

initialValue

protected T initialValue()

返回此線程局部變量的當(dāng)前線程的“初始值”。 該方法將在線程第一次使用 get() 方法訪問(wèn)變量時(shí)調(diào)用,除非該線程先前調(diào)用了 set(T) 方法,在這種情況下,不會(huì)為該線程調(diào)用 initialValue 方法。 通常,每個(gè)線程最多調(diào)用一次此方法,但在隨后調(diào)用 remove() 和 get() 的情況下,它可能會(huì)再次調(diào)用。

此實(shí)現(xiàn)僅返回 null; 如果程序員希望線程局部變量具有除 null 以外的初始值,則必須將 ThreadLocal 子類化,并重寫此方法。 通常,將使用匿名內(nèi)部類。

返回:

此線程本地的初始值

withInitial

public static ThreadLocal withInitial(Supplier supplier)

創(chuàng)建一個(gè)線程局部變量。 變量的初始值是通過(guò)調(diào)用 Supplier 的 get 方法來(lái)確定的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
S線程本地值的類型

參數(shù):

參數(shù)名稱 參數(shù)描述
supplier用于確定初始值的供應(yīng)商

返回:

一個(gè)新的線程局部變量

Throws:

Throw名稱 Throw描述
NullPointerException如果指定的供應(yīng)商為null

get

public T get()

返回此線程局部變量的當(dāng)前線程副本中的值。 如果變量沒(méi)有當(dāng)前線程的值,則首先將其初始化為調(diào)用 initialValue() 方法返回的值。

返回:

此線程本地的當(dāng)前線程的值

set

public void set(T value)

將此線程局部變量的當(dāng)前線程副本設(shè)置為指定值。 大多數(shù)子類不需要重寫此方法,僅依賴于 initialValue() 方法來(lái)設(shè)置線程局部變量的值。

參數(shù):

參數(shù)名稱 參數(shù)描述
value要存儲(chǔ)在此線程本地的當(dāng)前線程副本中的值。

remove

public void remove()

刪除此線程局部變量的當(dāng)前線程值。 如果這個(gè)線程局部變量隨后被當(dāng)前線程讀取,它的值將通過(guò)調(diào)用它的 initialValue() 方法重新初始化,除非它的值是由當(dāng)前線程在中間設(shè)置的。 這可能會(huì)導(dǎo)致在當(dāng)前線程中多次調(diào)用 initialValue 方法。


本文標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSThreadLocal
瀏覽地址:http://www.5511xx.com/article/djsigpd.html