<p><b>Abstract</b>—In the literature, the problem of global termination detection in parallel systems is usually solved by message passing. In shared-memory systems, this problem can also be solved by using exclusively accessible variables with locking mechanisms. In this paper, we present an algorithm that solves the problem of global termination detection in shared-memory asynchronous multiprocessor systems without using locking. We assume a reasonable computation model in which concurrent reading does not require locking and concurrent writing different values without locking results in an arbitrary one of the values being actually written. For a system of <it>n</it> processors, the algorithm allocates a working space of 2<it>n</it> + 1 bits. The worst case time complexity of the algorithm is <tmath>$n+2\sqrt n+1,$</tmath> which we prove is the lower bound under a reasonable model of computation.</p>