[Mono-list] Interrupting the garbage collector

Holger Arnold arnold@mis.mpg.de
Mon, 21 Oct 2002 14:12:51 +0200

a short question relating to the garbage collector: Assume that we have a 
managed application using n threads T_1, ..., T_n. Let thread T_i trigger a 
garbage collection. Which of the following assumptions are correct?

(1) All threads except T_i are stopped and the garbage collection runs in 
thread T_i.

(2) The garbage collector runs with the priority of T_i. This means that a 
thread T_k, which has a priority higher than T_i, can interrupt the garbage 

(3) The Boehm garbage collector can be safely interrupted.

(4) An interrupting thread T_k can trigger another garbage collection. What 
happens then?

Just for the case that I'm completely wrong, can someone try to explain the 
mechanism to me in a few words?