[ECOS] "Threads on ecos" confirmation needed...
Ivan Horvat
ihorvat@xylon.hr
Fri Jan 30 19:25:00 GMT 2004
Dirk Broer wrote:
>As best I can tell.
>
>We use POSIX interface to threads. We join on the threads all the time. At
>some points of execution, I can say we are creating and destroying 5 threads
>a second, potentially over an extended period of time with no ill effects.
>All threads are joined, but we don't do much in the way of cleanup so its
>not a tough test. Threads are encapsulated in a C++ object, using static
>methods for callbacks.
>
>Lessons learned
>1) Consider ECOS threads directly if you can. POSIX threads aren't named
>and makes debugging easier.
>2) We need to clean up our thread per task algorithm. (yeah, sure, when we
>have time).
>
>
>
Nice lessons, especially 1) :-)
I actually want to avoid joining threads. I'm using omnithread wrapper
which is
actually broken for DETACHED type of threads: it deletes the object
containing
the storage for Cyg_Thread object (returned by cyg_thread_create())
before calling
cyg_thread_exit(), which soon crashes the scheduler.
There is no ill effects using UNDETACHED treads only if there is a
periodical check
to join them as much as possible, but this is not very elegant. The
pthreads are more
common so I would like to use that API instead, but it obviously have
some drawbacks...
Thanks,
Ivan.
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss
mailing list