What exactly are you doing in the Tcl interps?  The threaded alloc built into Tcl is designed to remove lock contention, and I have benchmarks that confirm it does that.  However, if you are consistently passing data between the interps, locking will still occur.


  Jeff Hobbs, The Tcl Guy
  http://www.ActiveState.com/, a division of Sophos

-----Original Message-----
From: tcl-threads-admin@lists.sourceforge.net [mailto:tcl-threads-admin@lists.sourceforge.net] On Behalf Of zze-DELACROIX Julien RD-RESA-BEL
Sent: April 14, 2005 1:35 AM
To: tcl-threads@lists.sourceforge.net
Subject: [Tcl-Threads] Embeded tcl interpreters in multithread C++ application

Hi all.

I have a multithreaded c++ application with 1 TCL interpreter per thread.
This works, but when I'm monitoring CPUs usage, I see that my 4 CPU are used at 25% as if threads are working only one a a time. CPU usage should be 100% for each CPU as it is the case when I've got no embeded TCL interpreter in my thread.

What is the problem? I suspect embeded TCL interperter in my threads to use shared TCL ressources and to block the others when using it. How can I prevent that (each interpreter has its own ressources)?

Best regards,

Julien Delacroix

PS : I tried to compile tcl with and without thrdalloc but nothing changes...