–Next operation is
executed after the previous one has completed
–Specify the job, give
–Continue with your own
work as if nothing happened
There is a basic
incompatibility between the “assembly-line” model and Windows programming. A
Windows application must be responsive. An application cannot simply
schedule user interactions at convenient times. User interaction drives
What to do when the user
initiates a time-consuming operation?
-Freeze: Stop responding for the duration of the operation. Danger: the
user might decide to kill the non-responding application
-Display a progress meter and update it at convenient intervals. Or
even better, give the user the opportunity to cancel the operation.
Inconvenience: the user is supposed to sit there and gaze at the screen.
Danger: the user will start browsing the Internet and forget about the job.
-Let the user continue work, displaying results incrementally as they
arrive. Be fully interactive. That requires giving the job to a
“contractor”—an independent thread of execution.