Responsive user interface with background application logic for working on an object
First Claim
1. A computer system comprising:
- at least one processor; and
a memory comprising instructions stored thereon that when executed by the at least one processor cause the at least one processor to perform acts comprising;
running synchronous application logic on at least one background thread, the application logic accessing an object on the at least one background thread; and
while running the synchronous application logic on the at least one background thread, maintaining a user interface in a responsive state on at least one user interface thread, the user interface accessing the object on the at least one user interface thread, the responsive state of the user interface while running the synchronous application logic on the at least one background thread comprises the user interface being operable to initiate a modification of the object in response to user input requesting the modification of the object.
3 Assignments
0 Petitions
Accused Products
Abstract
A user interface can be maintained in a responsive state on a user interface thread while synchronous application logic is running on a background thread. The application logic can access an object on the background thread, and the user interface can access the same object on the user interface thread. Additionally, a request for work to be done on an object can be received. If the request is to be dispatched to a background thread, then the work can be dispatched to the background thread without blocking the user interface thread. However, if the request is to be dispatched to the user interface thread, then the work can be dispatched to the user interface thread, and the background thread can be blocked.
18 Citations
20 Claims
-
1. A computer system comprising:
-
at least one processor; and a memory comprising instructions stored thereon that when executed by the at least one processor cause the at least one processor to perform acts comprising; running synchronous application logic on at least one background thread, the application logic accessing an object on the at least one background thread; and while running the synchronous application logic on the at least one background thread, maintaining a user interface in a responsive state on at least one user interface thread, the user interface accessing the object on the at least one user interface thread, the responsive state of the user interface while running the synchronous application logic on the at least one background thread comprises the user interface being operable to initiate a modification of the object in response to user input requesting the modification of the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method, comprising:
-
receiving a request for work to be done on an object; a computer system determining whether the work is to be dispatched to at least one background thread running application logic or to at least one user interface thread running one or more user interface elements, determining whether the work is to be dispatched to the at least one background thread or to the at least one user interface thread comprising determining whether the request came from the at least one background thread or from the at least one user interface thread; if the request is to be dispatched to the at least one background thread, then the computer system dispatching the work to the at least one background thread without blocking the at least one user interface thread; and if the request is to be dispatched to the at least one user interface thread, then the computer system dispatching the work to the at least one user interface thread and blocking the at least one background thread. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer-implemented method comprising:
-
receiving user input at a user interface running on at least one user interface thread in a computer system, the user input requesting work to be done on an object; in response to receiving the user input at the user interface, the computer system forwarding a first work request from the at least one user interface thread to at least one background thread running application logic, the first work request requesting the work to be performed on the object; in response to receiving the first work request at the at least one background thread, the computer system running the application logic on the first work request in the at least one background thread and forwarding a second work request from the at least one background thread to the at least one user interface thread, the second work request requesting the work to be performed on the object; and in response to receiving the second work request from the at least one background thread at the at least one user interface thread, the computer system performing at least a portion of the work on the object using the at least one user interface thread. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification