synchronized block กับ synchronized method ต่างกันยังไง

บทความเกี่ยวกับ : synchronized block กับ synchronized method ต่างกันยังไง


เคยมีคนถามมาว่า synchronized block  กับ synchronized method ต่างกันยังไง
เวลาไปสัมภาษณ์งานคำถามนี้ก็มักจะถูกหยิบมาถามอยู่ประจำ
อย่าว่าแต่ block หรือ method เลยครับเอาแค่คำว่า synchronized คืออะไรให้มันได้เสียก่อน

synchronized  จะนำมาใช้เมื่อต้องการ Lock ให้ทำงานในขึ้นตอนใดเสร็จสิ้นเสียก่อน
พูดง่ายๆคือถ้ามีการทำงานพร้อมๆกันหลาย Thread ถ้าถึงจุดที่ synchronized จะต้อง
รอเพื่อทำงานทีละตัวๆ  ... ทำไมเราอธิบายได้งงขนาดนี้เนี่ย 55+
เข้าประเด็นเลยละกัน synchronized block  กับ synchronized method
ขอสรุปสั้นๆ ตามนี้นะครับ
synchronized method ->ถ้ามีหลายๆ Thread เรียก method นี้พร้อมกันคนละ instance มันจะไม่ Lock ครับ
synchronized block -> สามารถกำหนดให้ Lock ที่ระดับ instance ได้ครับจะทำให้ Lock ได้ดั่งใจนึก

เห่อพอแค่นี้ก่อนที่จะงงกันไปกว่านี้ T_T

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

java -Xms , java -Xmx กำหมด memory ให้ JVM เพื่อป้องกันปัญหา Out of Memory

Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก

Java this กับ super การใช้งานคำสั่ง this กับ super ใน ภาษา Java