×

Systems and methods of sharing processing resources in a multi-threading environment

  • US 7,856,636 B2
  • Filed: 05/10/2005
  • Issued: 12/21/2010
  • Est. Priority Date: 05/10/2005
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of sharing processing resources in a multi-threading environment, comprising:

  • executing a first thread that requires access to a shared resource;

    if the shared resource is unavailable to the first thread;

    allocating a memory address with a lock value for the shared resource, wherein the memory address is associated with the first thread and the lock value indicates a state of the shared resource;

    arming the first thread for a switching event on the allocated memory address;

    yielding by the first thread at least a portion of the processing resources for a second thread that does not require access to the shared resource;

    while the second thread uses the at least a portion of the processing resources, performing the steps of;

    checking the lock value at the memory address by the logical processor in response to an occurrence of the switching event, wherein the switching event comprises updating, by a logical processor releasing the shared resource, the lock value for the shared resource;

    if the lock value indicates the shared resource is available;

    returning, by the second thread, the at least a portion of the processing resources to the first thread; and

    acquiring by the logical processor the shared resource for the first thread.

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