Biến địa phương "được chia sẻ" trong tập quán của phương pháp?
Không, chúng không có. Mỗi luồng thực hiện phương thức có bản sao riêng của các biến cục bộ và chúng độc lập với nhau. Khi phương thức trả về, bản sao cụ thể của người dân địa phương cho chủ đề cụ thể đó bị loại bỏ. (*)
Điều gì sẽ xảy ra ví dụ nếu phương pháp tĩnh đang được gọi/sử dụng cùng lúc với các chủ đề khác nhau? Có một sợi chặn cho đến khi khác hoàn thành vv?
Không, chúng không; họ sẽ chỉ thực hiện phương thức trên hai ngăn xếp riêng biệt cùng một lúc. Nếu bạn thực sự muốn muốn chặn, hãy sử dụng lock statement, nguyên nhân gây ra chuỗi thứ hai đi vào câu lệnh khóa để đợi cho đến khi chuỗi đầu tiên trả về từ báo cáo khóa. Điều này có thể cần thiết nếu phương thức của bạn truy cập (các trường không phải cục bộ), là các dữ liệu được chia sẻ.
Trong ứng dụng luồng, khi nào thì không sử dụng phương pháp tĩnh?
Cho dù bạn nên sử dụng phương pháp tĩnh hay không phụ thuộc vào phương pháp yêu cầu đối tượng hoạt động, nhưng không có gì liên quan đến việc ứng dụng của bạn có đa luồng hay không. Đối với mục đích của luồng, một phương pháp tĩnh là không có gì đặc biệt so với một phương pháp không tĩnh.
(*) Điều này có thể không còn đúng nếu bạn có biểu thức lambda hoặc phương thức ẩn danh bên trong phương pháp sử dụng biến cục bộ, nhưng đây là tính kỹ thuật.
... ngoại trừ đóng cửa – Tergiver