stimmt, das ist eine gute lösung - kenne das unter dem stichwort
semaphor... das einzige, worauf man aufpassen muss, ist, dass kein
"deadlock" auftreten kann.
(d.h. thread a und b brauchen z.b. beide resource 1 und 2, thread a
reserviert z.b. resource 2 und thread b resource 1, nun kann keiner
mehr arbeiten, da jeder thread wartet bis die andere ressource frei-
gegeben wird.)

bei komplexeren programmen kann das schon etwas knifflig werden...

wobei der thread natürlich in dieser lösung durchaus unterbrochen wird -
durch alle anderen threads. diese müssen nur unter umständen warten,
da die benötigte resource (bzw. das flag) nicht frei ist...