So I noticed tonight as I had Task Manager open under Windows XP that ObjectDock had 138 threads associated with it!!!
In fact, it had the most threads of any application running on my desktop. I've had Windows XP running for 4 days straight. Having once upon a time coded under the Win32 API for a certain company in the Pacific NW (three guesses and the last two don't count), 138 threads given what ObjectDock does is overkill. Not to mention and to iterate - OBJECTDOCK HAD THE MOST THREADS OF ANY APPLICATION ON MY DESKTOP. The only thing that remotely came close was a Bittorrent client with 107 threads. After seeing this, I closed ObjectDock, restarted it and only 20 threads were associated with it.
The only thing I will add is to this post is that I do not run ObjectDock with administrative rights. In general, I strip admin rights off most applications I run. I use this tool:
http://download.cnet.com/RemoveAdmin/3000-2381_4-10824971.html?tag=lst-1&cdlPid=10835515
If you look at the shortcuts created for IE and Firefox by the RemoveAdmin installer, it is really a command line utility that is launching those browsers, respectively.
I launch ObjectDock with RemoveAdmin in my Startup folder then subsequently all apps I launch through ObjectDock do not have administrative rights. That's because under the Windows security model, a process (ObjectDock) launching another process (say, your browser) cannot have its privileges elevated.
In general, I don't want any application talking on the Net having administrative rights. Think of this setup as a "condom for the Net" - sorry if this comes across as crass but I've found the base analogy lets people more readily understand the utility of this approach. A good thing in light of the fact that the biggest reason people catch malware under Windows XP is because they run with administrative rights:
http://blogs.zdnet.com/security/?p=2517
In short, "Least Privilege" = No admin rights. Surprisingly, every copy of Windows since Windows 2000 has had the ability to launch a process in this way through security programming APIs except Microsoft never exposed this in the form of an end user tool. Think of Windows Vista's UAC as an attempt to remedy the problem.
Anyway, this is the only out of the ordinary thing about how I run ObjectDock since 99.9% of Windows XP users run with admin rights and in my case ObjectDock does not have administrative rights.
So why do I even care about the number of threads? I was running "Unreal Tournament III" and my framerate was kind of lame, I was looking for the usual suspect - Flash content gone awry causing my browser to chew up the CPU. That's when I noticed the very high thread count associated with ObjectDock.
As a principle, you don't want applications eating up resources over time, this is what's called a "resource leak" in the programming vernacular. ObjectDock seemed to be demonstrating this.
Regards,
-M
PS: Waiting on retail Windows 7...