Giả sử tôi có một chức năng mà cố gắng để bảo vệ một bộ đếm toàn cầu sử dụng mã này:Có phải xây dựng đối tượng phạm vi tĩnh đối tượng an toàn không?
static MyCriticalSectionWrapper lock;
lock.Enter();
counter = ++m_counter;
lock.Leave();
LÀ có một cơ hội mà hai luồng sẽ gọi constructor 's lock
? Cách an toàn để đạt được mục tiêu này là gì?
Xem thêm http://stackoverflow.com/questions/55510/when-do-function-level-static-variables-get-allocated-initialized –