synchronized ใน JAVA คืออะไร และ มีการทำงานอย่างไร  สร้างคำถาม

 4,275 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 13/05/2019

synchronized ใน JAVA คืออะไร และ มีการทำงานอย่างไร

synchronized คือการทำงานแบบเป็นขึ้นเป็นตอน ประมาณว่าต้องรอให้ทำงานตรงนี้เสร็จก่อนถึงจะทำงานขึ้นต่อไปได้

ใน ภาษา Java จะเป็นการ Lock เพื่อรอครับ โดยจะมีผลกับการทำงานที่มีการทำงาน
แบบแตก Thread หลายๆ Thread พร้อมๆ กัน เมื่อทำงานมาถึงจุดที่ synchronized
แต่ละ Thread จะต้องหยุดรอและเข้าคิวกันทำงานทีละ Thread

มีเพื่อนๆ ถามมาว่า synchronized มีกี่แบบผมขอยกตัวอย่างในภาษา Java นะครับ
synchronized มีทั้งหมด 3 แบบคือ
1. Synchronized method
อันนี้ใส่ไว้เป็น modifier ของ method ได้เลย เช่น
synchronized public void test() {....}
จะมีผลให้มี Thread เรียกใช้งาน method นี้ได้เพียว 1 Thread เท่านั้น ถ้าหากมีการเรียกใช้งานพร้อมๆ กัน
จะต้องมีการ wait รอก่อน

2. synchronized Block Object
กรณีที่เราไม่อยากให้ synchronized ทั้ง method อันนี้สามารถแทรกไว้ใน Line of code ได้ เช่น
Object myObject = this;
synchronized(myObject) {......}

3. synchronized Block Class
ตัวอย่าง
Class c = this.getClass();
synchronized(c) {......}

ตอบแบบคร่าวๆ เทาๆ นะครับ 55+
ถ้าต้องการเพิ่มเติมตรงใหน เม้นถามได้


ถ้าชอบบทความนี้ กด Like เลย :synchronized ใน JAVA คืออะไร และ มีการทำงานอย่างไร
TAGS : Java   Programming   โปรแกรมมิ่ง  
 4,275 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 13/05/2019



SOA,Java,XSLT

 ร่วมแสดงความคิดเห็นได้ที่นี่

#1.    Admin
@ มี 3 แบบนะครับ เพิ่มในคำตอบให้ละ

...............................................



× แจ้งเตือน! เราสนับสนุนทุกความคิดเห็น ที่ ใช้ถ้อยคำสุภาพ ไม่ละเมิดผู้อื่น ไม่ก่อให้เกิดความขัดแย้ง

เนื้อหาที่เกี่ยวช้อง

  Oracle field Varchar จุกี่ byte ถามเมื่อ (2015-11-10)   1,789 views  (ดูล่าสุดเมื่อ 38 วินาที!!)

  แนะนำ MEAN Stack ในยุคที่ Browser เก่งขึ้นและ javascript กำลังจะครองโลก ถามเมื่อ (2015-09-29)   2,408 views  (ดูล่าสุดเมื่อ 2 นาที)

  แนะนำ Scala ภาษาที่ Run บน JVM ได้เหมือน Java ถามเมื่อ (2017-03-08)   26,828 views  (ดูล่าสุดเมื่อ 2 นาที)

  Java script object example พร้อมตัวอย่างการใช้งาน ถามเมื่อ (2017-12-26)   1,252 views  (ดูล่าสุดเมื่อ 8 นาที)

  ลง Apserv แล้วค้างตรง service mysql ถามเมื่อ (2018-07-22)   2,689 views  (ดูล่าสุดเมื่อ 9 นาที)

  รหัส Error ที่ผู้ใช้เว็บควรรู้ มีอะไรบ้าง ถามเมื่อ (2016-11-02)   2,038 views  (ดูล่าสุดเมื่อ 10 นาที)

  PL SQL การใช้งาน Array พร้อมตัวอย่าง ถามเมื่อ (2014-10-09)   2,735 views  (ดูล่าสุดเมื่อ 22 นาที)

  PHP Codeigniter Cannot modify header information headers already sent by ปัญหาตอน redirect ถามเมื่อ (2019-08-26)   2,602 views  (ดูล่าสุดเมื่อ 31 นาที)

  Oracle SQL Command Query Record แรก ที่ซ้ำกันมาเพียง 1 Record ด้วย PARTITION ถามเมื่อ (2018-04-26)   1,708 views  (ดูล่าสุดเมื่อ 34 นาที)

  ถามเกี่ยวกับ Spring mvc ค่ะว่า formview successview มันเรียกใช้ตอนใหน ถามเมื่อ (2015-08-23)   1,787 views  (ดูล่าสุดเมื่อ 35 นาที)


 

บ้านเดียวกันดอทคอม เว็บถามตอบ รวมทุกเรื่องที่คุณอยากรู้ ให้ความรู้ ความบันเทิง มีสาระ
www.ban1gun.com