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

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



SOA,Java,XSLT

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

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

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



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

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

  Java เปรียบเทียบ String มากกว่า น้อยกว่า ยังไง ถามเมื่อ (2012-11-16)   3,147 views  (ดูล่าสุดเมื่อ 47 วินาที!!)

  nohub unix command เขียนยังไงครับ ถามเมื่อ (2013-05-17)   2,558 views  (ดูล่าสุดเมื่อ 3 นาที)

  วิธีการแสดงผล HTML Markup บน iReport เพื่อสร้าง Template ไปให้ Jasperreport เรียกใช้ ถามเมื่อ (2019-04-07)   1,933 views  (ดูล่าสุดเมื่อ 13 นาที)

  SQL Command Mysql nvl เช็ค null เหมือน Oracle ยังไง ถามเมื่อ (2018-07-04)   4,198 views  (ดูล่าสุดเมื่อ 17 นาที)

  คำสั่งในการ Manage site Ubuntu เพื่อสร้าง host domain ต่างๆ ถามเมื่อ (2016-07-27)   1,656 views  (ดูล่าสุดเมื่อ 17 นาที)

  synchronized java คืออะไรครับ ถามเมื่อ (2014-05-16)   2,436 views  (ดูล่าสุดเมื่อ 19 นาที)

  อยากแทรก iframe เข้าไปใน flex ของ script ด้วยครับ ถามเมื่อ (2013-04-24)   3,142 views  (ดูล่าสุดเมื่อ 23 นาที)

  Jquery ตัวอย่าง การจับตำแหน่ง scrollTop เพื่อ Load Data เพิ่มเมื่อเลื่อนจนถึงล่างสุด ถามเมื่อ (2019-05-29)   2,339 views  (ดูล่าสุดเมื่อ 28 นาที)

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

  Jquery Date Picker เปลี่ยน format Date ยังไงครับ ถามเมื่อ (2013-03-18)   2,944 views  (ดูล่าสุดเมื่อ 40 นาที)


 

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