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

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



SOA,Java,XSLT

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

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

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



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

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

  ลืมรหัส ที่ตั้งพาสโคตลอค ทำไงดีคะ กดหลายครั้งละผิดตลอด ล่าสุดขุ้นว่าอีกชั่วโมงค่อยกดใหม่ เรยมะกล้าละ กัวลอค ถามเมื่อ (2013-06-26)   3,041 views  (ดูล่าสุดเมื่อ 2 วินาที!!)

  WLST คืออะไร ย่อมาจากอะไร ถามเมื่อ (2014-05-09)   3,275 views  (ดูล่าสุดเมื่อ 10 นาที)

  java mbean คือ อะไรครับ ใช้ทำอะไรได้บ้าง ถามเมื่อ (2015-08-28)   3,818 views  (ดูล่าสุดเมื่อ 11 นาที)

  JMS คืออะไร ใน Java J2EE JMS หรือ Java Message Service ใช้ทำอะไร ถามเมื่อ (2015-08-28)   4,486 views  (ดูล่าสุดเมื่อ 11 นาที)

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

  POJO คืออะไรในภาษา Java คือ Object ธรรมดาๆ หรือเปล่า ถามเมื่อ (2015-08-28)   8,549 views  (ดูล่าสุดเมื่อ 12 นาที)

  HTML เบื้องต้น เขียนเว็บให้เป็นง่ายๆ กับ Tag ที่จำเป็น ถามเมื่อ (2012-07-24)   2,701 views  (ดูล่าสุดเมื่อ 14 นาที)

  วิธี วน loop Array ใน PHP แบบ สองมิติ ถามเมื่อ (2012-10-08)   3,852 views  (ดูล่าสุดเมื่อ 24 นาที)

  my sql date format คำสั่งในการ query เดือน วัน ปี ถามเมื่อ (2012-10-08)   3,306 views  (ดูล่าสุดเมื่อ 25 นาที)

  php Date format ขอตัวอย่างการจัดรูปแบบวันที่ด้วย PHP ครับ ถามเมื่อ (2012-10-08)   3,057 views  (ดูล่าสุดเมื่อ 25 นาที)


 

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