1. A method of enabling a user of a computer system to control the execution of tasks by an application program on the system comprising: establishing for the application program a user tolerance level consisting of the time period that a user is willing to wait for the execution of a task; whenever the user requests the system to perform a task, calculating an estimate of the time the task will require to be completed; if the estimate is less than the user tolerance level, then performing the task; if the estimate is greater than the user tolerance level then allowing the user to assign the task to a background processing operation; and returning control of the system to the user for selection of another task.