Hi all!

I am trying to use boost smart pointers for some multithreaded work in the following way:

1. I use shared_ptr to wrap stuff in thread 1
2. I create weak_ptr-s in thread 1 and pass them to thread 2
3. in thread 2, I lock my weak_ptr-s and use stuff I get from there
4. in thread 1 I may destroy my shared_ptr
5. next time I want to lock my weak_ptr, I get NULL and can't use stuff

Basically, my idea is to use weak_ptr as sort of transport mechanism
between threads, but with "stuff destroyed detection".

I did some tryouts and this seems to be OK. However, I'd like to get
some more authorative advice :-)) Can I do that? If no, why not, or, what would you suggest?

Thanks,

Goran.

 


Yahoo! FareChase - Search multiple travel sites in one click.