Ken, Thanks for a detailed response Still not sure how would it be possible to do using NSConditionLock, but i managed to do it using NSCondition :)
2011/5/5 Ken Thomases <k...@codeweavers.com>: > On May 5, 2011, at 8:51 AM, eveningnick eveningnick wrote: > >> 2011/5/5 Heath Borders <heath.bord...@gmail.com>: >>> Try NSConditionLock. Its documentation should be pretty self-explanatory. >>> >> >> Health, >> thanks for the response. >> However, i can't see how can i use NSConditionLock in my situation. >> For every lock (or mutex/semaphore - which essentially is the same) i >> need to acquire it 1 time at least to stop the the thread when a >> second attempt to acquire it from a different thread is made. >> What i need - is to stop the thread A immediately after the thread B >> has been spawned by a thread A. I am afraid if i acquire the lock from >> A, and then acquire it as soon as B starts (in B routine), the thread >> A may even finish before the thread B _actually_ starts (or rather B's >> threadfunction starts executing). >> Am i wrong somewhere here? > > NSConditionLock allows one to lock waiting for specific conditions. The lock > can be created in an initial condition, say THREAD_B_NOT_RUNNING. Then, > Thread A can spawn B and lock waiting for condition THREAD_B_RUNNING. Thread > B can take the lock unconditionally and, when it's ready, unlock it with > condition THREAD_B_RUNNING. Or whatever. > > Other possible techniques include using a pipe to send a signal byte from one > thread to the other. So, thread A would do a blocking read from the pipe. > Thread B would write a single byte to the pipe to signal whatever condition. > > There are all sorts of other approaches. > > Regards, > Ken > > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com