×

Almost non-blocking linked stack implementation

  • US 7,451,146 B2
  • Filed: 06/30/2004
  • Issued: 11/11/2008
  • Est. Priority Date: 06/30/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for implementing, in a multithreaded environment, an almost non-blocking linked list, comprising:

  • providing a black list associated with a linked list, the black list for holding pointer values each being associated with a node that is in the process of being removed from the linked list, wherein the linked list is lock-free as long as the black list is not full and is blocking when the black list is overflowing so as to implement the linked list as an almost non-blocking linked list;

    modifying the pointer value for each node being inserted to the linked list, using a predetermined variation in the pointer value associated with such node to prevent blocking the insertion of such node when its associated pointer value is present in the black list, whereby this predetermined variation facilitates distinguishing the pointer value in the black list from its modified value; and

    upon also finding the modified value in the black list, repeating the modifying step until, lastly, the modified value is no longer found in the black list.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×