Re: Inter-thread communication with NSPort

Jeremy Tregunna <[email protected]>
Newsgroups gmane.comp.lib.gnustep.general,gmane.comp.lib.gnustep.user
Message-ID <[email protected]>
Curious why nobody has written a Coroutine framework for Cocoa/ 
GNUstep. Coroutines would scale a lot better in this case.

--
Jeremy Tregunna
[email protected]



On 3-Feb-07, at 3:44 AM, Richard Frith-Macdonald wrote:

>
> On 3 Feb 2007, at 07:32, Tima wrote:
>
>> Hi,
>>
>> I'm trying to make a client-server application in GNUstep.
>> Right now it seems that the best way to do the client is to
>> make it a two-threaded application, with a main thread processing
>> GUI events and a "worker" thread waiting and reading messages
>> from socket-related NSInputStream.
>>
>> I want the worker thread to notify the main one when the message  
>> is ready.
>> After reading Apple documentation for some time I got an impression
>> that I need to send message to main thread's NSPort, it will be  
>> delivered
>> via -handlePortMessage: method of the port's delegate.
>>
>> First of all, is it really the intended way to do communication
>> between threads?
>
> No ... you should use distributed objects over an NSConnection.
> While in theory you can work with ports directly, it's certainly  
> not recommended and is considerably more complex for you to code  
> than using NSConnections.
>
> However, fort the one-way communication you describe, probably the  
> simplest and most efficient option would be for your worker thread  
> to use the - 
> performSelectorOnMainThread:withObject:waitUntilDone:modes: method  
> of NSObject.
>
> PS. I think you probably have the ports the wrong way round in your  
> port message.
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
> !DSPAM:45c44b5b746845209328925!
>

_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.