×

Multithreading with concurrency domains

  • US 7,581,225 B2
  • Filed: 02/23/2006
  • Issued: 08/25/2009
  • Est. Priority Date: 04/29/2005
  • Status: Expired due to Fees
First Claim
Patent Images

1. A system for synchronizing operations of components of a software application, comprising:

  • a memory; and

    a processor, coupled to the memory, configured to process items associated with the software application including;

    a first concurrency domain that is a partition of user interface components of the software application and is for providing synchronization and thread isolation for the partitioned components, wherein the first concurrency domain includes a single internal processing thread operative to execute a single-threaded object of the software application;

    a first boundary object associated with the first concurrency domain for facilitating asynchronous communications between the first concurrency domain and an external object, wherein the first boundary object is operative to;

    receive a first work item from a software application object external to the first concurrency domain,determine whether at least one previously posted work item in a work item queue comprises a related task to the first work item,in response to determining that the at least one previously posted work item in a work item queue comprises a related task to the first work item, bundle the first work item with the previously posted work item in the work item queue, andin response to determining that the at least one previously posted work item in a work item queue does not comprise a related task, post the first work item to the work item queue, the first work item being directed to the single-threaded object;

    a first thread dispatcher object included in the concurrency domain operative to retrieve the posted first work item from the work item queue and to pass the posted first work item to the single-threaded object for processing by the single-threaded object; and

    the single-threaded object being operative to process the posted first work item and to return a result to the external object via the first boundary object such that when the first work item is to be processed in the first concurrency domain is determined by the first thread dispatcher object.

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