I have asked what "asynchronous" means a while ago for interrupts. Now I have the same question but for running shell commands and for cancelling threads.
From Bash manual
If a command is terminated by the control operator
&, the shell executes the command asynchronously in a subshell.
From Operating System Concepts, by Abraham Silberschatz, et al,
A thread that is to be canceled is often referred to as the target thread. Cancellation of a target thread may occur in two different scenarios:
Asynchronous cancellation. One thread immediately terminates the target thread.
Deferred cancellation. The target thread periodically checks whether it should terminate, allowing it an opportunity to terminate itself in an orderly fashion.
I was wondering what "asynchronous" means in the above two cases? Does it have the same meaning in the two cases?
Do the definitions from Google apply to the above two cases?:
(of two or more objects or events) not existing or happening at the same time.
of or requiring a form of computer control timing protocol in which a specific operation begins upon receipt of an indication (signal) that the preceding operation has been completed.
Do both definitions from Google seem
contrary to the case of "asynchronous" operator
and unrelated to "asynchronous" cancellation of threads?
If the second definition applies to the above two cases, what are "a specific operation" and "the preceding operation" in each case?