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

ความคิดเห็น

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

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

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

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