Asynchronous communication is a mode of communication in which the sending and receiving of data is shifted in time and takes place without blocking the process by, for example, waiting for the receiver’s response (as is the case with synchronous communication). Asynchronous communication should not be confused with the term asynchronous data transmission; this refers to media access procedures. Examples of asynchronous communication between people are
- Email, SMS, and chat conversations,
- Newsletter or mailing lists as well as
- Entries in discussion forums or newsgroups.
- Many groupware systems have proprietary services for sending and receiving messages
Elements of asynchronous communication
In asynchronous communication we note that some of the typical elements of communication have specific and differentiated characteristics:
Issuer: The sender sends the information knowing that it will not get an immediate response.
Receiver: This will be aware of the arrival of the message only when accessing the specific channel.
Channel: This is the physical medium agreed by both parties by which the message is transmitted, it must be durable over time since the message will be stored there for an indefinite time.
Code: It must be durable over time, also, it must be shared between the elements of the communicative event; you will need to have a physical media for storage.
Situation or context: The availability of the sender or receiver is uncertain and significantly marks the context of the communication.
Polling : On Unix and BSD operating systems, the syscall select can be used, which pauses a process until a resource becomes accessible. Some Unix derivatives provide better scaling features, such as e.B epoll on Linux, kqueue on FreeBSD, and /dev/poll on Solaris.
Callback Functions : Available on Mac OS, VMS and Windows
Easy Processes : Light-weight processes (LWPs) originally originated from Plan 9 (a distributed operating system)
Channel I/O : Available for mainframes where the coprocessor takes over the interrupts
Registered I/O : Available on Windows Server 2012 and Windows 8