This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Re: Réf. : Twothreads.c without cyg_thread_delay
- From: David Luca <davidluca3000 at yahoo dot com>
- To: Jean-Marc dot Lopez at faiveleytransport dot com, ecos-devel <ecos-devel at sourceware dot org>, ecos-discuss <ecos-discuss at sourceware dot org>
- Date: Fri, 24 Nov 2006 08:08:06 -0800 (PST)
- Subject: Re: Réf. : Twothreads.c without cyg_thread_delay
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=ZdPy/VPK2hNw2D/2Vol3wof5xHqJD1WahNLX0VaEes8NNSf5Ke0z8qRYRxd5W+sKndtFSD6ujfOP8/M9yidFJeljDukzs3j67RGpWW+CRHuadSli/QepolJnOC/605OhI5l3UmbNQsXPvDkdPBtkh5A5IUaDB5s05iH8nebtuLU= ;
Timeslicing is enabled by default in eCos kernel.
This is what I'm interested, to see two threads of
same priority working. Using cyg_thread_delay doesn't
mean much advantage over infinite loops because the
tasks can be very long in working time before it
reaches cyg_thread_delay. Its just a cooperative
multitasking. Timeslicing is the reason I must use
RTOS. If timeslicing is not working, then eCos is not
a true RTOS. Anyone tested timeslicing?
--- Jean-Marc.Lopez@faiveleytransport.com wrote:
---------------------------------
Hi David.
Excuse me but with your explanations, it's looks like
you did not manage properly the threads priorities.
It's just a problem of Real time OS.
If your 2 threads had the same priority, and Thread_1
never "give the hand" to the kernel, the Thread 2 will
never run. â?¦Except if you configure the timeSlicing
option in your kernel. ( never done at this moment).
By using a cyg_thread_delay function, we said to the
kernel to stop the current Thread ( Thread 1 ) and to
run the Thread 2 ( or the thread who have the higtest
priority after the Thread1).
By setting the timeslicing option, the kernel will
commute between the 2 threads every x ms ( depending
of your kernel configuration) even if threads have the
same priority. (but not experimented yet).
LPZ
-----David Luca <davidluca3000@yahoo.com> a écrit :
-----
Pour : ecos-devel <ecos-devel@sourceware.org>,
ecos-discuss <ecos-discuss@sourceware.org>
De : David Luca <davidluca3000@yahoo.com>
Date : 24/11/2006 14:29
Objet : Twothreads.c without cyg_thread_delay
Hello,
Today I started twothreads.c application, but I
replaced printf(not working yet on my platform) with
leds. My question is, without the cyg_thread_delay, is
it possible to run concurrently the two threads?
Because if I comment this function, only one task is
running, I can see that only one led is turn on and
off.
Thank you in advance,
David Luca.
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com