วีดีโอ: การใช้ ThreadLocal คืออะไร?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
Java ThreadLocal ใช้เพื่อสร้างตัวแปรท้องถิ่นของเธรด เรารู้ว่าเธรดทั้งหมดของ Object นั้นใช้ตัวแปรร่วมกัน ดังนั้นตัวแปรจึงไม่ปลอดภัยสำหรับเธรด เราสามารถใช้การซิงโครไนซ์เพื่อความปลอดภัยของเธรด แต่ถ้าเราต้องการหลีกเลี่ยงการซิงโครไนซ์ เราสามารถใช้ตัวแปร ThreadLocal ได้
คลาส ThreadLocal ใช้ทำอะไร
Java ThreadLocal class จัดเตรียมให้ เธรดท้องถิ่น ตัวแปร ช่วยให้คุณสร้างตัวแปรที่สามารถอ่านและเขียนได้จากเธรดเดียวกันเท่านั้น หากสองเธรดกำลังรันโค้ดเดียวกันและโค้ดนั้นมีการอ้างอิงถึงa ThreadLocal ตัวแปรทั้งสองเธรดจะไม่เห็นตัวแปรท้องถิ่นของกันและกัน
ด้านบนนี้ เหตุใด ThreadLocal จึงเป็นแบบคงที่และเป็นขั้นตอนสุดท้าย อย่างที่เราเห็น คงที่ ตัวอย่างของ ThreadLocal ใช้เป็นคีย์ค้นหาเท่านั้น ค่าของมันไม่สามารถเปลี่ยนแปลงได้เนื่องจากมีการประกาศ สุดท้าย . NS ThreadLocal อินสแตนซ์นั้นปลอดภัยสำหรับเธรดทั้งหมด เนื่องจากเป็นแบบอ่านอย่างเดียวจริงๆ ดังนั้นการซิงโครไนซ์จึงไม่มีความจำเป็น สิ่งที่อาจไม่ปลอดภัยสำหรับเธรดคือ Object เป้าหมาย
ในทำนองเดียวกัน คุณอาจถามว่า ThreadLocal ทำงานอย่างไรใน Java
NS Java ThreadLocal คลาสช่วยให้คุณสามารถสร้างตัวแปรที่สามารถอ่านและเขียนโดยเธรดเดียวกันเท่านั้น ดังนั้น แม้ว่าสองเธรดกำลังรันโค้ดเดียวกัน และโค้ดนั้นมีการอ้างอิงถึงตัวเดียวกัน กระทู้ท้องถิ่น ตัวแปรทั้งสองเธรดไม่สามารถเห็นกันของ ThreadLocal ตัวแปร
เหตุใด ThreadLocal จึงคงที่
ในระยะสั้น กระทู้ท้องถิ่น วัตถุทำงานเหมือนแผนที่คีย์-ค่า คงที่ สุดท้าย กระทู้ท้องถิ่น ตัวแปรนั้นปลอดภัยสำหรับเธรด คงที่ ทำให้ ThreadLocal ตัวแปรที่มีอยู่ในหลายคลาสสำหรับเธรดที่เกี่ยวข้องเท่านั้น มันเป็นชนิดของ decaration ตัวแปรทั่วโลกของตามลำดับ ด้ายท้องถิ่น ตัวแปรข้ามหลายคลาส
แนะนำ:
การใช้ FileWriter ใน Java คืออะไร?
คลาส Java FileWriter ใช้เพื่อเขียนข้อมูลเชิงอักขระไปยังไฟล์ เป็นคลาสเชิงอักขระที่ใช้สำหรับการจัดการไฟล์ในจาวา ต่างจากคลาส FileOutputStream คุณไม่จำเป็นต้องแปลงสตริงเป็นอาร์เรย์ไบต์เนื่องจากมีวิธีการเขียนสตริงโดยตรง
การใช้ @PersistenceContext คืออะไร?
คุณสามารถใช้คำอธิบายประกอบ @PersistenceContext เพื่อฉีด EntityManager ในไคลเอนต์ EJB 3.0 (เช่น bean ของ stateful หรือ stateless, bean ที่ขับเคลื่อนด้วยข้อความหรือเซิร์ฟเล็ต) คุณสามารถใช้ @PersistenceContext โดยไม่ต้องระบุแอตทริบิวต์ unitName เพื่อใช้หน่วยการคงอยู่เริ่มต้นของ OC4J ตามตัวอย่างที่ 29-12 แสดง
การใช้ classpath คืออะไร?
Classpath เป็นพารามิเตอร์ใน Java Virtual Machine หรือคอมไพเลอร์ Java ที่ระบุตำแหน่งของคลาสและแพ็คเกจที่ผู้ใช้กำหนด พารามิเตอร์สามารถตั้งค่าได้ทั้งบนบรรทัดคำสั่งหรือผ่านตัวแปรสภาพแวดล้อม
การใช้ list ใน python คืออะไร?
รายการเป็นหนึ่งในสี่โครงสร้างข้อมูลในตัวใน Python พร้อมด้วยสิ่งอันดับ พจนานุกรม และชุด ใช้เพื่อจัดเก็บคอลเลกชันที่สั่งซื้อซึ่งอาจมีหลายประเภท แต่โดยปกติแล้วจะไม่ใช่ เครื่องหมายจุลภาคแยกองค์ประกอบที่อยู่ในรายการและอยู่ในวงเล็บเหลี่ยม
การใช้ Web API คืออะไร?
โดยทั่วไปแล้ว API เว็บ ASP.NET ถูกกำหนดให้เป็นเฟรมเวิร์กที่ช่วยให้การพัฒนาบริการ HTTP เพื่อเข้าถึงเอนทิตีไคลเอนต์ เช่น เบราว์เซอร์ อุปกรณ์ หรือแท็บเล็ต ASP.NET Web API สามารถใช้ได้กับ MVC สำหรับแอปพลิเคชันทุกประเภท เพราะฉะนั้น,. NET web APIs มีความสำคัญมากสำหรับการพัฒนาเว็บแอปพลิเคชัน ASP.NET