Sign in
cbrumme's WebLog
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search
Tags
Chat
CLR
Archive
Archives
September 2006
(1)
April 2004
(1)
February 2004
(3)
November 2003
(2)
October 2003
(1)
August 2003
(1)
July 2003
(1)
June 2003
(3)
May 2003
(7)
April 2003
(19)
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
cbrumme's WebLog
Finalization
Posted
over 9 years ago
by
cbrumme
94
Comments
Earlier this week, I wrote an internal email explaining how Finalization works in V1 / V1.1, and how it has been changed for Whidbey. There’s some information here that folks outside of Microsoft might be interested in. Costs Finalization...
cbrumme's WebLog
The Exception Model
Posted
over 10 years ago
by
cbrumme
92
Comments
I had hoped this article would be on changes to the next version of the CLR which allow it to be hosted inside SQL Server and other “challenging” environments. This is more generally interesting than you might think, because it creates an opportunity...
cbrumme's WebLog
Apartments and Pumping in the CLR
Posted
over 9 years ago
by
cbrumme
65
Comments
I’ve already written the much-delayed blog on Hosting, but I can’t post it yet because it mentions a couple of new Whidbey features, which weren’t present in the PDC bits. Obviously Microsoft doesn’t want to make product disclosures...
cbrumme's WebLog
Hosting
Posted
over 9 years ago
by
cbrumme
57
Comments
Hosting My prior three blogs were supposed to be on Hosting. Each time I got side tracked, first on Exceptions, then on Application Compatibility and finally on Finalization. I refuse to be side tracked this time… much. Also, I need...
cbrumme's WebLog
AppDomains ("application domains")
Posted
over 10 years ago
by
cbrumme
50
Comments
An AppDomain is a light-weight process. Well, if you actually measure the costs associated with an AppDomain – especially the first one you create, which has some additional costs that are amortized over all subsequent ones – then “light-weight”...
cbrumme's WebLog
Startup, Shutdown and related matters
Posted
over 10 years ago
by
cbrumme
45
Comments
Usually I write blog articles on topics that people request via email or comments on other blogs. Well, nobody has ever asked me to write anything about shutdown. But then I look at all the problems that occur during process shutdown in the unmanaged...
cbrumme's WebLog
Memory Model
Posted
over 10 years ago
by
cbrumme
38
Comments
One of the suggestions for a blog entry was the managed memory model. This is timely, because we’ve just been revising our overall approach to this confusing topic. For the most part, I write about product decisions that have already been made and...
cbrumme's WebLog
The PDC and Application Compatibility, but still no Hosting
Posted
over 10 years ago
by
cbrumme
31
Comments
The PDC has happened, which means two things. I can post some of my (slightly self-censored) reactions to the show, and I can talk about what we ve disclosed about Whidbey and Longhorn more freely. In this particular case, I had promised...
cbrumme's WebLog
Request a topic
Posted
over 10 years ago
by
cbrumme
30
Comments
If there's a topic related to the CLR, feel free to drop me a line asking me to talk about it. I have a very time-consuming day job and a full life outside of work, so expect a long delay before I address your topic. Or I might feel I have nothing...
cbrumme's WebLog
Reliability
Posted
over 10 years ago
by
cbrumme
28
Comments
I’ve been putting off writing this blog, not just because I’m on vacation in Maui and have far more tempting things to do. It’s because one of my blogs has already been used on Slashdot as evidence that Windows cannot scale and won’t support distributed...
cbrumme's WebLog
TransparentProxy
Posted
over 10 years ago
by
cbrumme
27
Comments
One of the recurring requests for a blog is related to TransparentProxy, RealProxy, Contexts, Interception, etc. As usual, I’m typing this where I don’t have access to our corporate network and the sources, so some details might be a little off. ...
cbrumme's WebLog
Interning Strings and immutability
Posted
over 10 years ago
by
cbrumme
22
Comments
Managed strings are subject to ‘interning’. This is the process where the system notices that the same string is used in several places, so it can fold all the references to the same unique instance. Interning happens two ways in the CLR. ...
cbrumme's WebLog
Value Types
Posted
over 10 years ago
by
cbrumme
20
Comments
The CLR’s type system includes primitive types like signed and unsigned integers of various sizes, booleans and floating point types. It also includes partial support for types like pointers and function pointers. And it contains some rather exotic...
cbrumme's WebLog
Lifetime, GC.KeepAlive, handle recycling
Posted
over 10 years ago
by
cbrumme
19
Comments
It’s not possible to state exactly when a managed object will be collected. The garbage collector schedules itself based on various heuristics. Even if a garbage collection occurs, it may only collect the younger generations of the heap. And the JIT...
cbrumme's WebLog
Asynchronous operations, pinning
Posted
over 10 years ago
by
cbrumme
18
Comments
One thing we tried to do with the CLR and FX is provide a consistent asynchronous programming model. To briefly recap the model, an API called XXX may also offer an async alternative composed of BeginXXX and EndXXX methods. Even if the class that...
cbrumme's WebLog
Threads, fibers, stacks and address space
Posted
over 10 years ago
by
cbrumme
15
Comments
Every so often, someone tries to navigate from a managed System.Threading.Thread object to the corresponding ThreadId used by the operating system. System.Diagnostic.ProcessThread exposes the Windows notion of threads. In other words, the OS threads...
cbrumme's WebLog
ReleaseComObject
Posted
over 10 years ago
by
cbrumme
14
Comments
Developers who are accustomed to the IDisposable pattern or to C#’s ‘using’ syntax sometimes ask why COM Interop doesn’t support IDisposable on every Runtime Callable Wrapper (RCW). That way, managed code could indicate that it is finished using the...
cbrumme's WebLog
Unhandled exceptions
Posted
over 10 years ago
by
cbrumme
11
Comments
There are two kinds of threads executing inside managed code: the ones we start in managed code and the ones that wander into the CLR. The ones that started in managed code include all calls to Thread.Start(), the managed threadpool threads, and...
cbrumme's WebLog
Size of a managed object
Posted
over 10 years ago
by
cbrumme
11
Comments
We don't expose the managed size of objects because we want to reserve the ability to change the way we lay these things out. For example, on some systems we might align and pack differently. For this to happen, you need to specify tdAutoLayout for...
cbrumme's WebLog
Managed objects and COM
Posted
over 10 years ago
by
cbrumme
10
Comments
All managed objects other than those derived from ServicedComponent, when exposed to COM, behave as if they have aggregated the free threaded marshaler (FTM). In other words, they can be called on any thread without any cross-apartment marshaling...
cbrumme's WebLog
Updated Finalization and Hosting
Posted
over 9 years ago
by
cbrumme
10
Comments
My original posts on Finalization and Hosting had some hokey XXXXX markers in place of content, where that content hadn't already been disclosed in some form. Now that the Visual Studio 2005 Community Preview is available, I've gone back to those two...
cbrumme's WebLog
Managed blocking
Posted
over 10 years ago
by
cbrumme
9
Comments
What’s the difference between WaitHandle.WaitOne/WaitAny/WaitAll and just PInvoke’ing to WaitForSingleObject or WaitForMultipleObjects directly? Plenty. There are several reasons why we prefer you to use managed blocking through WaitHandle or ...
cbrumme's WebLog
Access to old blogs
Posted
over 10 years ago
by
cbrumme
9
Comments
By default, old blogs are truncated from this web site. If you want to read old entries that have scrolled off, go to the CATEGORIES section at the right hand side of the web page. Select CLR (rss) and you'll see the full list.
cbrumme's WebLog
Inheriting from MarshalByRefObject
Posted
over 10 years ago
by
cbrumme
8
Comments
Developers often wonder why they are forced to derive from MarshalByRefObject or EnterpriseServices.ServicedComponent. It would be so much more convenient if they could add a CustomAttribute to their class or use a marker interface to declare that...
cbrumme's WebLog
Turning off the garbage collector
Posted
over 10 years ago
by
cbrumme
7
Comments
It is not generally possible to turn off garbage collection. However, the garbage collector won’t run unless “provoked.” Garbage collection is triggered by: 1) Allocation 2) Explicit calls by the application to System.GC.Collect 3) Explicit...
Page 1 of 2 (39 items)
1
2