2011-12-19 9 views

Odpowiedz

10

Ponieważ zmienna nie jest wartością pierwszej klasy, którą można przekazać do innej funkcji. W wersji 3.4 autorzy implementują funkcję make-mutex, która używa clear! jako funkcji pomocniczej, która pobiera komórkę. Jeśli komórka była reprezentowana przez zmienną zmienną, wówczas clear! musiałaby być zdefiniowana wewnątrz make-mutex!, aby zamknąć tę zmienną. To samo dotyczy funkcji pomocnika test-and-set!.

Mogli również użyć, powiedzmy, pudełka zamiast komórki.

5

Jeśli zamiast listy używana jest zmienna, procedury clear! i test-and-set! nie będą działać, ponieważ Schemat jest wartością przekaż.