TAILIEUCHUNG - Financial Applications Using Excel Add-in Development in C/C++Second Edition phần 3

Những vấn đề phát sinh khi nó có thể được có thể cho các ứng dụng để gọi chức năng này hai lần từ các chủ đề khác nhau cùng một lúc. Chức năng cả hai đọc và thay đổi giá trị của bộ nhớ được sử dụng cho num_calls, vì vậy những gì nếu một thread đang cố gắng để viết trong khi đang cố gắng đọc? | Creating a 32-bit Windows Win32 DLL Using Visual C or Visual Studio .NET 91 The problems arise when it may be possible for the application to call this function twice from different threads at the same time. The function both reads and modifies the value of the memory used for num_calls so what if one thread is trying to write while the other is trying to read The answer is that it s unpredictable. In practice for a simple integer this is not a problem. For larger data structures it could be a serious problem. One way to avoid this unpredictability is the use of critical sections. There are also issues of ensuring that a static variable used as a return value from an exported function as above does not get over-written by another thread calling the same function before the recipient of the return value has time to read it. This is a problem that particularly affects add-ins in Excel 2007 where multi-threaded worksheet recalculation is possible. Later sections of this book go into detail on this and provide a solution based on the Thread-Local Storage TLS API. Windows also provides a function GetCurrentThreadId which returns the current thread s unique system-wide ID. This provides the developer with another way of making their code thread-safe or altering its behaviour depending on which thread is currently executing. This subject becomes more important in Excel 2007 as it supports multi-threaded recalculation. See sections Multi-threaded recalculation on page 45 Making add-in functions thread safe on page 212 and Specifying functions as thread-safe Excel 2007 only on page 253 . COMPILED FUNCTION NAMES Name decoration When compilers compile source code they will in general change the names of the functions from their appearance in the source code. This usually means adding things to the beginning and or end of the name and in the case of Pascal compilers changing the name to all uppercase. This is known as name decoration and it is .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.