• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Using NSThreads in command-line apps
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using NSThreads in command-line apps


  • Subject: Re: Using NSThreads in command-line apps
  • From: ben syverson <email@hidden>
  • Date: Thu, 15 May 2008 14:53:29 -0500

On May 15, 2008, at 2:25 PM, Bill Bumgarner wrote:

Your main thread loop?

If that is the design you want to use, then you can use NSLock -- NSConditionLock, typically -- to do the synchronization between threads. If your loop really is running flat out, then using a condition lock will be marginally faster.

b.bum

Maybe... I should be more specific, so it's clear what I'm trying to do. The application is a lightweight HTTP server which reads requests on a socket and uses two or three worker threads to generate the responses. I'm using kqueue / kevent instead of the Cocoa stuff.


I have one thread which runs the server's infinite loop. It can't be the main thread, because it calls kevent, which doesn't return a value until there's an event. So that thread's loop stops while kevent is waiting.

When the server thread gets a complete request, it needs to be picked up by a worker thread. Perhaps the way to do this is with an NSConditionalLock? As in, the server thread would lock an NSMutableArray, add the new requests, and that would trigger the worker thread? If I go with that, I guess I wouldn't have to a performSelectorOnMainThread:...

I want to go with whatever will give me the best performance. (I know, I know, ObjC adds some overhead, but the advantages in readability outweigh the messaging overhead for me. If I need to recode some parts as ANSI later, I will.)

Thanks for all the responses so far!

- ben

_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Using NSThreads in command-line apps
      • From: "Hamish Allan" <email@hidden>
References: 
 >Using NSThreads in command-line apps (From: ben syverson <email@hidden>)
 >Re: Using NSThreads in command-line apps (From: Bill Bumgarner <email@hidden>)
 >Re: Using NSThreads in command-line apps (From: ben syverson <email@hidden>)
 >Re: Using NSThreads in command-line apps (From: Bill Bumgarner <email@hidden>)

  • Prev by Date: Re: Guidance for Cocoa's steep learning curve
  • Next by Date: Re: Bypassing Interface Builder
  • Previous by thread: Re: Using NSThreads in command-line apps
  • Next by thread: Re: Using NSThreads in command-line apps
  • Index(es):
    • Date
    • Thread