Well, I haven't seen a minute delay as well. That's what I've been told. Could be just a user's impression. But I've seen about 10 seconds delays a few times in different places. So it's definitely not a "dead" lock, because it recovers without any exception. I'm pretty sure I have a good threading with proper synchronization. I excluded all the probable reasons except the next two: 1. The hardware (RFID reader) is eating CPU cycles. It's Intermec device. You may remember what Kevin Price told about his experience with Intermec in his RFID presentation - their hardware is not reliable at all and AccuCode stopped using them completely. 2. GC. My primary concern is CF's algorithm of ended threads disposing. Also I parse socket responses, creating more than a hundred of short strings every time, that could add to the burden. That's where I thought I may need to run GC. Or change the algorithm. BTW, do you use StringBuider or whatever name is in order to not overload the heap? What is the rule of thumb to switch from "<string> + <string> + ..." to StringBuilder? Thanks Andrei -----Original Message----- From: comodev-bounce@xxxxxxxxxxxxx [mailto:comodev-bounce@xxxxxxxxxxxxx] On Behalf Of David Beers Sent: Wednesday, August 17, 2005 10:31 AM To: dick_grier Grier Subject: [CoMoDev] Re: Garbage collection Andrei, for what it's worth I've never seen the kind of delay you're talking about just from garbage collection (in Java or .NET CF). I don't think trying to "help" the GC by invoking it directly at a certain time is generally a good idea. I never do it. Given all the multithreading you're doing I agree with Dick that maybe you should be looking for possible deadlocks. David Beers Pikesoft Mobile Computing www.pikesoft.com 719-963-2319 Skype ID: pikesoft On Tue, 16 Aug 2005 18:40:25 -0600, dick_grier Grier wrote: > Hi Andrei, > >>> > However could it be so bad that 400 mHz XScale > hangs for a minute? > << > > I would not think so. I haven't seen anything like this, but my projects have been smaller than the one that you have described. > > This sounds more like some sort of dead-lock. Do any of your worker threads share data or depend on shared objects? Perhaps something is going on there? > > > Dick > > Richard Grier (Microsoft MVP - Visual Basic) > Hard & Software > 12962 West Louisiana Avenue > Lakewood, CO 80228 > 303-986-2179 (voice) > 303-593-9315 (fax) > > Author of Visual Basic Programmer's Guide to Serial Communications, 4th Edition ISBN 1-890422-28-2 (391 pages) published July 2004. For faster service, contact the publisher at http://www.mabry.com/vbpgser4.