ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½ΡΠΆΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ThreadLocal.withInitial(...). Π§ΡΠΎ ΡΡΠΎ Π΄Π°ΡΡ: - Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΡΠ²ΠΎΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΠΊΠΎΠΏΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ - ΠΠ΅ Π½ΡΠΆΠ½Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ - ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π»Π΅Π½ΠΈΠ²ΠΎ β ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΡΠΈΠΌΠ΅Ρ: ThreadLocal<Integer> counter = ThreadLocal.withInitial(() -> 0); counter.get(); // 0 counter.set(70); counter.get(); // 70
π‘ Java-ΡΠΎΠ²Π΅Ρ: Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ ΡΠ²ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
11Β ΡΠ΅Π²ΡΠ°Π»Ρ11Β ΡΠ΅Π²
~1 ΠΌΠΈΠ½