Patent ID: 8417733

Claim:
A tangible computer readable storage medium storing thereon a set of instructions which when executed by a processor cause the processor to create a dynamic atomic bitset object, the dynamic atomic bitset object comprising: an array object including: a pointer to a previous array object; and an atomic integer array object, wherein the number of bits in the dynamic atomic bitset object is dynamically changeable and the dynamic atomic bitset object is concurrently accessible by multiple threads without requiring the use of locks; the tangible computer readable storage medium comprising instructions for resizing the dynamic atomic bitset object which cause the processor to: create a new array object; store a pointer to the array object as the previous pointer of the new array object; copy each required element of the atomic integer array object to the new atomic integer array object using a compare and swap operation; set a copied indicator bit in each element of the atomic integer array object using the compare and swap operation; and replace the array object with the new array object using the compare and swap operation; wherein the steps of storing and replacing are repeated upon a failure of the compare and swap operation.