2008-10-14 4 views

Trả lời

7

Đối với các quy trình không được quản lý, bạn kiểm soát mô hình căn hộ được sử dụng cho một luồng bằng cách chuyển các tham số thích hợp tới CoInitializeEx(). Larry Osterman đã viết lên một lớn dẫn chút đến những:

...
Khi a thread cuộc gọi CoInitializeEx (hoặc CoInitialize), thread nói với COM nào trong hai loại căn hộ đó là chuẩn bị để máy chủ. Để chỉ ra rằng chuỗi phải nằm trong MTA, bạn chuyển cờ COINIT_MULTITHREADED tới CoInitializeEx. Để cho biết rằng chuỗi cần lưu trữ STA, hãy gọi CoInitialize hoặc chuyển cờ COINIT_APARTMENTTHREADED tới CoInitializeEx.
...

- http://blogs.msdn.com/larryosterman/archive/2004/04/28/122240.aspx

1

C++ chưa được hỗ trợ trong chuỗi. Những gì bạn đang tìm kiếm phụ thuộc vào cách bạn đang thực hiện các chủ đề trong ứng dụng của bạn. Win32? pthreads? boost :: threads? Cho dù API bạn đang sử dụng sẽ xác định câu trả lời cho câu hỏi của bạn.

EDIT: trông như thế này có thể có một ví dụ cho bạn: http://msdn.microsoft.com/en-us/library/system.threading.apartmentstate.aspx

Dường như nó áp dụng cho quản lý C++.