More generally, an asynchronous process is one in which two
agents are working in relation to each other, but not
simultaneously. For example, a conversation on a
BBS is likely to be asynchronous.
On Monday, you post that psychology is a scam.
On Tuesday, I post that your mother is a scam.
On Friday, you post that your dog was killed by psychology.
On Sunday, I post a lengthy discourse on cognitive-behavioral psychology
The following Monday, you post a message asking if I'll agree that psychology is a useful discipline that sometimes kills dogs.
On Tuesday, we make up.This conversation was asynchronous because the timing of my replies was not dictated by a clock. The minimum amount of time I had to wait between replies was determined by you, because I can't reply to you until you've written something. But beyond that, I could wait as long as I wanted, and your writing process would patiently hold itself in stasis until I indicated it was your turn again.
Compare this to a
RL conversation, in which we loosely share the same timing system -- if you say something to me and I don't reply within thirty
seconds, you will likely conclude that something is wrong.
Of course, this brings up the fact that in human terms, processes are rarely
synchronous or
asynchronous, but rather have widely varying degrees of time-sensitivity. Back on the
BBS, if you made a post and I didn't reply after several months, you'd probably decide that I wasn't going to say anything even though a truly asynchronous environment would have no such time-based cues.
In communications between computers, an asynchronous transfer of data is not timed by a clock, but uses signals within the
data stream itself to
delimit the transfer, such as a
start bit and a
stop bit.