Threadlocal 傳遞引數 百度二面

2021-09-08 20:18:15 字數 1036 閱讀 1045

這是threadlocal的乙個功能。很多人可能不知道,因為threadlocal 是區域性變數,只要執行緒不銷毀,就會一直存在,因此可以使用threadlocal來跟蹤傳遞引數;

如果對threadlocal一點都不了解的話,可以先參考這篇文章:threadlocal 定義,以及是否可能引起的記憶體洩露(threadlocalmap的key是弱引用,用執行緒池有可能洩露)

方法如下:

使用threadlocal 來解決執行緒內部共享資料的問題 

定義bo 

package

com.unicom.ucloud.aar.kettle.bo;

import

com.unicom.ucloud.aar.kettle.vo.kettlerunmessagevo;

/***

@author

[email protected]

* @remark */

public

class

threadlocalmessage

public

kettlerunmessagevo getmessage()

public

void

setmessage(kettlerunmessagevo message)

private

static threadlocalmessage threadlocalmessage = new

threadlocalmessage();

public

static

threadlocalmessage getinstance()}//

kettlerunmessagevo message =threadlocalmessage.getinstance().getmessage();

if(message==null

)

使用message的set方法設定相應的值

在同乙個執行緒中的其他地方get這個message 得到相應的值

參考:

python 引數傳遞 Python 引數傳遞

python中的變數 乙個變數是區域性還是全域性,在編譯函式的時候就已經決定,因此讀變數值的時候也不會逐層向外查詢。變數是全域性還是局域,根據如下3條 1.如果函式內部有global語句,那麼它宣告的變數是全域性的。2.如果函式內部有對變數的賦值語句,那麼它是局域的。3.除此之外都是全域性的。注意1...

python 引數傳遞 python引數傳遞

python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。函式引數的定義有四種形式 1.f arg...

Python引數傳遞 引用傳遞 值傳遞

值傳遞 方法呼叫時,實際引數把它的值傳遞給對應的形式引數,方法執行中形式引數值的改變不影響實際引數的值。a1 520 a2 a1 print a1 520 print a2 520 a2 a1 1 print a2 521 print a1 520 引用傳遞 也稱位址傳遞,在方法呼叫時,實際上是把引...