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

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



SOA,Java,XSLT

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

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

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



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

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

  ตัวอย่าง jquery การ click link พร้อม ส่ง Parameter ถามเมื่อ (2013-03-27)   3,260 views  (ดูล่าสุดเมื่อ 1 นาที)

  แจก Code ตัวอย่าง Code และ Error ต่างๆ รวบรวมไว้ที่นี่ ถามเมื่อ (2016-07-28)   1,684 views  (ดูล่าสุดเมื่อ 4 นาที)

  วิธี Add Classpath iReport เพื่อ Connect database Oracle ผ่าน JDBC ถามเมื่อ (2018-10-08)   2,992 views  (ดูล่าสุดเมื่อ 6 นาที)

  Vector ต่างจาก Array List ยังไงครับ ถามเมื่อ (2011-06-23)   4,322 views  (ดูล่าสุดเมื่อ 15 นาที)

  Javascript เก็บค่าลง localStorage กับ SessionStorage ต่างกันอย่างไร ถามเมื่อ (2017-12-26)   2,715 views  (ดูล่าสุดเมื่อ 19 นาที)

  Error 500 วิธีแก้ Error 500 in servlet is an Internal Server Error ถามเมื่อ (2016-08-31)   3,349 views  (ดูล่าสุดเมื่อ 21 นาที)

  HTTP Request แบบ POST รับได้มากสุดกี่ตัว ถามเมื่อ (2016-07-27)   1,943 views  (ดูล่าสุดเมื่อ 25 นาที)

  ตัวอย่างการใช้ Regular Expressions ใน REGEXP_REPLACE ของ Oracle ถามเมื่อ (2017-01-18)   6,690 views  (ดูล่าสุดเมื่อ 26 นาที)

  BPEL กับ BPMN ต่างกันยังไง ถามเมื่อ (2015-08-28)   5,553 views  (ดูล่าสุดเมื่อ 26 นาที)

  ขอตัวอย่าง PHP File Upload ค่ะ ถามเมื่อ (2013-03-05)   3,043 views  (ดูล่าสุดเมื่อ 27 นาที)


 

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