Hello,

Take a look at pthread_yield():

DESCRIPTION
The pthread_yield() forces the running thread to relinquish the processor
    until it again becomes the head of its thread list.

(Note that it is not portable)

And if you want to use sleep, I found out that using sleep with more ms does 'yield' the thread/process.
iirc, 20ms was enough to stop it from using 100% CPU.

-- Jille

Ramachandran Sathyanarayanan wrote:
Hi

 I hope this is the right mailer for this question. pls let us know your inputs 
on this.

Thanks

Ram

________________________________
From: Rajeshwar Patil
Sent: Tuesday, October 07, 2008 3:36 PM
To: [EMAIL PROTECTED]
Cc: Ramachandran Sathyanarayanan; Rajeshwar Patil
Subject: sleep is not working to avoid starvation among threads of same priority

Hi,

I have two threads of same priority lets say thread A and thread B, thread A is 
starving since thread B has got a for loop of size 100k. So, to avoid 
starvation I am processing 1000 iterations of for loop(that of thread B) in one 
batch and giving sleep of 1ms, but still thread A is starving. If I increase 
the batch size used in for loop from 1k to 10k then starvation of thread A is 
little less whereas it should be more as Im increasing processing time of 
thread B. I tried various combinations of sleeps and batches, but I couldnt 
solve the starvation of thread A.

Is the sleep right solution?

I will be grateful if someone could answer on this.

Thanks
Rajeshwar






________________________________
"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the 
use of the individual to whom it is addressed. It may contain privileged or confidential 
information and should not be circulated or used for any purpose other than for what it 
is intended. If you have received this message in error,please notify the originator 
immediately. If you are not the intended recipient, you are notified that you are 
strictly prohibited from using, copying, altering, or disclosing the contents of this 
message. Aricent accepts no responsibility for loss or damage arising from the use of the 
information transmitted by this email including damage from virus."
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to