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

 5,201 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   โปรแกรมมิ่ง  
 5,201 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 13/05/2019



SOA,Java,XSLT

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

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

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



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

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

  สมเกียรติ เขมะจารัง ถามเมื่อ (2011-10-23)   2,767 views  (ดูล่าสุดเมื่อ 17 นาที)

  PWA หรือ Progressive web App คือการทำ web ให้เหมือน app ยังไงมาลองดูกัน ถามเมื่อ (2017-06-06)   2,165 views  (ดูล่าสุดเมื่อ 45 นาที)

  Encrypt กับ Encode ต่างกันยังไง ถามเมื่อ (2017-03-03)   3,511 views  (ดูล่าสุดเมื่อ 55 นาที)

  Full Stack JavaScript คืออะไร ถามเมื่อ (2020-01-24)   3,221 views  (ดูล่าสุดเมื่อ 56 นาที)

  ความแตกต่างระหว่าง RDBMS กับ Hadoop NoSQL ถามเมื่อ (2017-02-07)   3,846 views  (ดูล่าสุดเมื่อ 69 นาที)

  PLSQL Replace String ด้วยคำสั่ง REGEXP_REPLACE ถามเมื่อ (2016-11-29)   2,840 views  (ดูล่าสุดเมื่อ 69 นาที)

  PHP แปลงรูป ให้เป็น Binary ยังไงครับ ขอตัวอย่างด้วยครับ ถามเมื่อ (2013-07-12)   2,787 views  (ดูล่าสุดเมื่อ 75 นาที)

  XPath คืออะไรต่างจาก XQuery หรือไม่ ทำความรู้จักกับ XPath ถามเมื่อ (2017-02-07)   3,391 views  (ดูล่าสุดเมื่อ 83 นาที)

  ORACLE alter table not null ยังไงครับ ถามเมื่อ (2017-11-10)   2,163 views  (ดูล่าสุดเมื่อ 83 นาที)

  Unix unzip ไฟล์ไว้ใน folder ถามเมื่อ (2016-07-27)   2,648 views  (ดูล่าสุดเมื่อ 85 นาที)


 

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