สารบัญ:
คำจำกัดความ - ความผันผวนหมายถึงอะไร
Volatile เป็นคีย์เวิร์ดภายในภาษาการเขียนโปรแกรมภาษาจาวาที่ระบุว่าตัวแปรสมาชิกที่เชื่อมโยงกับคลาสสามารถเปลี่ยนแปลงได้แบบอะซิงโครนัสโดยหลายเธรด คำสำคัญระเหยในรหัสทำหน้าที่เป็นตัวดัดแปลงเมื่อมีการประกาศสมาชิก คำหลักเป็นคำที่สงวนไว้เบื้องต้นซึ่งมีความหมายแตกต่างกันในบริบทของคอมไพเลอร์
คำสำคัญระเหยจะใช้เมื่อใดก็ตามที่ตัวแปรหมายถึงการเรียงลำดับของตัวแปรบางอย่างที่ขึ้นอยู่กับสภาพแวดล้อมหรือระบบเช่นเคาน์เตอร์ง่ายและนาฬิกา
Techopedia อธิบายความผันผวน
คำสำคัญระเหยช่วยให้มั่นใจว่าแต่ละการเข้าถึงการอ่านไปยังตัวแปรสมาชิกส่งกลับค่าล่าสุดของมัน สิ่งนี้จะไม่มีผลเมื่อทำการเปลี่ยนแปลงล่าสุดโดยใช้เธรดอื่น หากตัวแปรสมาชิกไม่ถูกประกาศว่าเป็นสารระเหยเธรดจะไม่สามารถรับรู้การแก้ไขที่ทำโดยใช้เธรดอื่น
สำหรับสมาชิกสองคนหรือยาวคำสำคัญระเหยยังช่วยให้มั่นใจว่าเครื่องเสมือนจะไม่สร้างการเขียน 32- บิตต่อเนื่องสอง แต่จะสร้างเพียง 64- บิตเขียนแทน หากไม่สามารถทำได้การดำเนินการ JVM ยังคงดำเนินต่อไปเพื่อให้มั่นใจว่าอะตอมมิกของฟังก์ชั่นนี้จะไม่สามารถอ่านครึ่งล่างของเก่าที่เก่ากว่าด้วยครึ่งที่สูงขึ้นใหม่ของความผันผวนสองเท่าหรือระยะยาว
การเขียนและอ่านระเหยตั้งค่าความสัมพันธ์ที่เกิดขึ้นก่อน ก่อนที่จะเข้าถึงวัตถุแบบระเหยการซิงโครไนซ์จะเกิดขึ้นระหว่างหน่วยความจำหลักและตัวแปรแคชเช่นเดียวกับที่เกิดขึ้นก่อนที่จะเข้าหรือออกจากบล็อกซิงโครไนซ์ นี่หมายความว่าวัตถุระเหยสามารถเผยแพร่ได้อย่างปลอดภัยโดยไม่ต้องประสาน; นั่นคือเมื่อมีการเข้าถึงวัตถุระเหยโดยเธรดสมาชิกของวัตถุนั้นจะถูกปรับปรุงด้วย
เมื่อตัวแปรถูกอธิบายว่าเป็นสารระเหย JVM และ Java คอมไพเลอร์ดำเนินการสองสิ่งต่อไปนี้
- คอมไพเลอร์ล้มเหลวในการเพิ่มคำสั่งและนิพจน์ที่เกี่ยวข้องกับตัวแปรนั้นให้มากที่สุด
- JVM ซิงโครไนซ์ตัวแปร
ข้อดีของสารระเหยมีดังนี้:
- มันเบา
- มันทำให้โอเวอร์เฮดขนาดเล็กมากในการอ่านและเขียน แต่ยังเร็วกว่าการล็อค
- สารระเหยสามารถทนต่อการล็อคที่ตายแล้ว
