self
sẽ chỉ hoạt động nếu bạn gọi trực tiếp trong khối được chuyển đến Thread.new
, không phải nếu bạn gọi từ bên trong phương thức trên lớp khác chạy trên chuỗi đó. Nếu bạn sử dụng cách tiếp cận Thread.new { |t| p t}
, bạn sẽ phải vượt qua t
xung quanh nếu bạn muốn sử dụng nó bên trong các phương pháp khác đang chạy trên chuỗi đó. Nhưng Thread.current
hoạt động bất kể bạn gọi từ đâu.
Tôi sẽ sử dụng Thread.current
, bởi vì nó làm cho nó rõ ràng những gì bạn đang làm cho bất cứ ai đọc mã. Một số độc giả có thể không biết rằng nếu khối Thread.new
có tham số, chuỗi mới sẽ được chuyển vào tham số đó. self
có thể không rõ ràng 100%. Nhưng mọi độc giả nên ngay lập tức có thể hiểu được những gì Thread.current
có nghĩa là.
Nguồn
2012-02-01 22:44:31
im lạ tìm 'self' doesnt tham khảo các chủ đề: 'Thread.new {p} tự .join' in' main' – AJcodez