บ้าน พัฒนาการ อะตอมใน java คืออะไร - คำจำกัดความจาก techopedia

อะตอมใน java คืออะไร - คำจำกัดความจาก techopedia

สารบัญ:

Anonim

คำจำกัดความ - อะตอมหมายถึงอะไร

Atomic เป็นชุดเครื่องมือของคลาสแพ็คเกจ java.util.concurrent.atomic ซึ่งช่วยในการเขียนอัลกอริทึมการล็อคและไม่ต้องรอด้วยภาษาจาวา อัลกอริทึมที่ต้องการเฉพาะเธรดบางส่วนสำหรับความคืบหน้าคงที่ไม่มีล็อค ในอัลกอริทึมที่ไม่มีการรอเธรดทั้งหมดจะดำเนินการต่อเนื่องแม้ในกรณีที่เธรดล้มเหลวหรือล่าช้า อัลกอริทึมการล็อคและการรอคอยฟรียังเป็นที่รู้จักกันในนามอัลกอริธึมที่ไม่บล็อก อัลกอริธึมที่ไม่บล็อกถูกใช้สำหรับการจัดตารางกระบวนการและเธรดที่ระดับระบบปฏิบัติการและเครื่องเสมือน Java

Techopedia อธิบายอะตอม

คลาสแพ็กเกจ java.util.concurrent.atomic ทั้งหมดมีส่วนนำหน้า "atomic" ในชื่อ มีตัวแปรอะตอมมิกหลายชนิดที่มีอยู่ในแพ็คเกจ java.util.concurrent.atomic รวมถึง:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
ในภาษา Java การซิงโครไนซ์การประสานการเข้าถึงไปยังเขตข้อมูลเธรดที่ใช้ร่วมกันและอนุญาตเฉพาะเธรดที่ถือล็อกเพื่อเข้าถึงและปรับเปลี่ยนตัวแปรที่ป้องกันโดยการล็อก การแก้ไขของเธรดนี้สามารถมองเห็นได้โดยเธรดที่ตามมา แต่หลังจากที่เธรดออกการล็อกเท่านั้น

ตัวอย่างคือสถานการณ์ที่เธรด A เก็บล็อค A สามารถเข้าถึงและทำการเปลี่ยนแปลงตัวแปรที่ได้รับการป้องกันโดยล็อคนี้เท่านั้น หากเธรด B เก็บการล็อคนี้หลังจาก A ดังนั้น B เท่านั้นที่สามารถดูการเปลี่ยนแปลงของ A ในตัวแปรที่ได้รับการป้องกันโดยการล็อกเฉพาะนั้น ปัญหาหลักของการล็อคเกิดขึ้นเมื่อ B พยายามรับการล็อคที่ A เก็บไว้ในกรณีนี้ B จะถูกบล็อคเพื่อรอจนกว่าการล็อคจะพร้อมใช้งาน อัลกอริทึมที่ไม่บล็อกการแก้ไขปัญหานี้


วัตถุประสงค์หลักที่อยู่เบื้องหลังการสร้างคลาสอะตอมมิกคือการใช้โครงสร้างข้อมูลที่ไม่บล็อกและคลาสโครงสร้างพื้นฐานที่เกี่ยวข้อง คลาส Atomic ไม่ได้ทำหน้าที่แทนของ java.lang.Integer และคลาสที่เกี่ยวข้อง java.util.concurrent แพ็คเกจคลาสส่วนใหญ่ใช้ตัวแปรอะตอมมิกแทนการซิงโครไนซ์ไม่ว่าโดยตรงหรือโดยอ้อม ตัวแปรอะตอมมิกยังถูกใช้เพื่อให้ได้ปริมาณงานที่มากขึ้นซึ่งหมายถึงประสิทธิภาพของแอพพลิเคชันเซิร์ฟเวอร์ที่สูงขึ้น

คำจำกัดความนี้เขียนขึ้นในบริบทของ Java
อะตอมใน java คืออะไร - คำจำกัดความจาก techopedia