Is this correct: In a synchronous channel the data transmission is coordinated between the transmitter and the receiver. The receiver knows both the duration of the transmission and the arrival time of the signal by running a clock that runs at the same speed as the transmitting clock. Whereas in an asynchronous channel, the transmission of data is not synchronized between the sender and the receiver. The data can arrive at any time.
And if, in fact, this is correct, then wouldn’t asynchronous communication be a highly unreliable form of data communication
Asynchronous communication works much like the postal system: An application creates a message (that's a piece of data such as the text String "Order 1000 barrels crude oil", or an XML expression), and labels the message with a destination address (that's typically the logical name of a "mail box", and not an IP address). The message is passed to the messaging middleware system. Now the sender application proceeds happily, without needing to wait for the message to be delivered. Synchronous communication works much like a phone call. The Receiver (callee) must be available, otherwise the conversation cannot occur. There are many pros and cons about both models, and many details (message priorities, message persistency, forwarding and routing, etc.). I'd suggest a distributed systems book such as the ones written by Andy Tanenbaum, or by Orfali et al.
Hey Javk long time. I know you're familiar with java, so perhaps a programming analogy will help a bit in terms of understanding async vs sync. An sync program will have the computer executing one line of code at a time, in an orderly fashion (single threaded). In an async program, you can have multiple lines of code running at the same time (multi-threaded). Asynchronous programming is useful if you have a program which makes networking calls - if you are using a program with a GUI that makes database network calls on a single synchronous thread, then the GUI (buttons, functionality) will be frozen for a few seconds while the program awaits the network's response. Important for games too.
thank you yeah its bee a while @woodrow73 but you might be seeing more of me now ;)