More generally, an asynchronous process is one in which two agent
s 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 second
s, you will likely conclude that something is wrong.
Of course, this brings up the fact that in human terms, processes are rarely synchronous
, 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