Summary: | 碩士 === 國立交通大學 === 資訊工程系 === 87 === Queues are often used in computer programming, operating system, and algorithm development. A concurrent queue allows several processes manipulating it simultaneously and is especially useful for distributed system.
Nonblocking algorithms, in contrast to blocking algorithm in which an idle process may block other processes¢ ongoing manipulation on shared data, guarantee that the nonfailed processes can always make progress.
In order to avoid garbage collection problem, we develop the algorithm for shared queue based on array. We use the compare&swap primitive to develop the algorithm. Unlike many proposed algorithms, the running time of our Deq operation is independent of the numbers of operations performed. In addition, we prove the correctness of our algorithm.
|