1 0執行緒 執行緒間的共享

2021-10-02 21:38:39 字數 1357 閱讀 1289

多個執行緒 可以共享同乙個程序中的資源

多執行緒對程序中的 公共變數 進行同時訪問

如果不加鎖的時候,有可能訪問不到。

1 synchronize

本質 對具體物件的加鎖(類鎖:對類在虛擬機器中的class物件的加鎖)

物件鎖://保證物件的原子性

- 同步塊 加鎖

- 方法 加鎖

/**

*類說明:synchronized關鍵字的使用方法

*/public

class

syntest

public

void

setcount

(long count)

/*用在同步塊上*/

public

void

inccount()

}/*用在方法上*/

public

synchronized

void

inccount2()

/*用在同步塊上,但是鎖的是當前類的物件例項*/

public

void

inccount3()

}//執行緒

private

static

class

count

extends

thread

@override

public

void

run()}

}public

static

void

main

(string[

] args)

throws interruptedexception

}

2 volatile關鍵字,最輕量的同步機制

一寫多讀場景

import cn.enjoyedu.tools.sleeptools;

/** * 類說明:演示volatile的提供的可見性

*/public

class

volatilecase

}public

static

void

main

(string[

] args)

}

3 threadlocal的使用

執行緒的隔離 - spring 事物

每乙個執行緒都有變數的副本 每個執行緒 有擁有自己的threadlocalmap (可以看做map形式) 以實現執行緒的安全

等待和通知的標準正規化

等待:syn(物件)

//業務邏輯

}通知:

syn(物件)//當syn中全部執行完 才會釋放鎖

執行緒間共享資料

首先給大家分享乙個巨牛巨牛的人工智慧教程,是我無意中發現的。教程不僅零基礎,通俗易懂,而且非常風趣幽默,還時不時有內涵段子,像看 一樣,哈哈 我正在學習中,覺得太牛了,所以分享給大家!點這裡可以跳轉到教程 一 每個執行緒執行的 相同 若每個執行緒執行的 相同,共享資料就比較方便。可以使用同乙個run...

執行緒間的資料共享

執行緒間的資料共享可以通過兩種方式 通過thread子類建立程序的方法 通過runnable介面實現程序之間的共享 比較這兩種實現程序共享的區別 thread子類建立程序 package practice4 public class threadsale extends thread public ...

jMeter執行緒間cookie共享

在壓力測試下,有這樣的場景,需要獲取登陸後的sessionid給後面使用,解決思路 先登入一次,獲取cookie將其儲存到 jmeter 全域性屬性中,至此事情就好辦了 1 後置處理器使用正則獲取登陸後的sessionid 2 獲取cookie將其儲存至全域性屬性中 3 新增全域性http cook...