Tại thời điểm này, tôi có một số chức năng mà trông như thế này:Tôi có thể thêm thuộc tính vào một hàm để ngăn chặn reentry không?
private bool inFunction1 = false;
public void function1()
{
if (inFunction1) return;
inFunction1 = true;
// do stuff which might cause function1 to get called
...
inFunction1 = false;
}
Tôi muốn để có thể khai báo như thế này:
[NoReEntry]
public void function1()
{
// do stuff which might cause function1 to get called
...
}
Có một thuộc tính tôi có thể thêm vào một chức năng để ngăn chặn reentry? Nếu không, làm thế nào tôi sẽ đi về làm một? Tôi đã nghe nói về AOP thuộc tính có thể được sử dụng để thêm mã trước và sau khi các cuộc gọi chức năng; họ có thích hợp không?
Phạm vi của hạn chế này khi có nhiều chủ đề và nhiều phiên bản đối tượng là gì? Có phải chức năng 1 có thể được thực hiện bất kỳ lúc nào chỉ bằng một chuỗi đơn cho một cá thể đối tượng đơn lẻ hay nó thoải mái hơn? – Constantin