Jeffrey Richter talk on Safe Threading
I trekked out to Microsoft's new digs in Alpharetta list night (the place still had "new building smell") to hear Jeffrey Richter give a talk sponsored by Atlanta Microsoft Professionals. It was very much worth the time, even though the specific topic wasn't incredibly germaine to my current day-to-day tasks.
He spoke primarily about safely aborting Threads in .NET 2.0, and went into some fairly intricate detail about how it's done at the code level, and about changes in 2.0 that can make mutli-threading significantly safer with respect to use of unmanaged resourced.
I won't go into tremendous detail (for risk of misquoting or otherwise mangling the information) other than to note that I was surprised at how technically "unsafe" certain very common aspects of managed code use were under .NET Framework 1.0 and 1.1. Particularly, any kind of Interop activity in a multi-threaded environment has some potential resource leaks and even security holes. Luckily, much work has been done in v2.0 (largely at the behest of the SQLServer team, who are understandably interested in NOT having either resource leaks or security holes) to remedy the situations.
I'll provide a link to Jeffrey's slide deck when it's posted online.
Got the Slide Deck
Finally got the PPT for this presentation, but I have nowhere to upload it for public consumption. I was hoping there'd be a link somewhere, but instead I got it through a chain of emails with a colleague here at work...
Dan -- I'm emailing it to you today. If you want, let's coordinate on posting it somewhere. It's good info, and I think it would be worth circulating.
In the Meantime
Andy, thanks for passing the powerpoint for the Jeffrey Richter presentation. I'm reluctant to upload it to the d.* site without Jeffrey's permission. I looked for a few minutes on the web for his contact information, but could not find a direct contact. If I find a way to contact him, I'll ask him about it. I'd imagine that when he finds the time he'd prefer to have it on his Wintellect web site. In the meantime, if anyone would like to have a copy of the powerpoint for personal use, send me an email and I'll be happy to pass it along (click About at the top of the page, and the Contact).
Thanks again,
Dan
More on Richter and .NET Threads
I found this recent post by Jeffrey Richter on the Wintellect blog that talks about the new threading chapters in his new CLR book, and pointers to some of his other recent activities. I very much enjoyed the first edition of his CLR book, and he says this new edition (which has a different title) is pretty much a complete rewrite.
Dan
Indeed
I'm not into copyright infringement, of course.
I expect these will be linked to somewhere, either from the AMP guy's blog(s) or by Jeffrey himself. But wiser to wait until then....


Multithreaded Applications
Thanks for the summary, Andy. Please do post that slide deck link when it's available. I would have enjoyed hearing Jeffrey Richter speak, as he is one of the best .NET authors out there.
Speaking of .NET multithreading, allow me to recommend two truly excellent articles that were published in MSDN Magazine last year, both by Vance Morrison. The first is "Concurrency: What Every Dev Must Know About Multithreaded Apps." The second is "Memory Models: Understand the Impact of Low-Lock Techniques in Multithreaded Apps."
I actually plan on reading these articles a couple more times. The author does a great job of explaining these topics, but there's no getting around the fact that the subject matter is complex. Edward Nilges has done some good writing about multithreading here on developer.* also.
Best,
Dan