Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

คุณสมบัติ isThreadSafe ใน JSP คืออะไร?

คุณสมบัติ isThreadSafe ระบุว่าหน้า JSP ปลอดภัยต่อเธรด (thread-safe) หรือไม่

ค่าเริ่มต้นและพฤติกรรม

  • true (ค่าเริ่มต้น) - JSP engine อนุญาตให้หลายเธรดรันหน้า JSP นี้พร้อมกัน (multi-threaded) ต้องเขียนโค้ดให้ปลอดภัยต่อเธรดด้วยตนเอง
  • false - JSP engine จะบังคับให้มีเพียง หนึ่งเธรด ที่รันหน้า JPS นี้ในเวลาเดียว (single-threaded) โดยใช้ synchronization mechanism

ตัวอย่างปิด thread-safety

<%@ page isThreadSafe = "false" %>

ข้อควรพิจารณา

  • isThreadSafe="false" ลดประสิทธิภาพ** มาก เพราะ serialize ทุกคำขอ (request) ต้องรอคิว
  • แทนที่จะปิด thread-safety ควรเขียนโค้ดให้ thread-safe อย่างถูกต้อง (หลีกเลี่ยง instance variables ใน JSP, ใช้ local variables, synchronized blocks ถ้าจำเป็น)
  • คุณสมบัตินี้ล้าสมัย (deprecated) ใน JSP 2.0+ ไม่แนะนำให้ใช้

แนวทางปฏิบัติที่ดี: เขียน JSP ให้ thread-safe เสมอ (ค่าเริ่มต้น true) และจัดการ shared state ผ่าน session, application scope หรือ database แทน