(1) In communications, the process of adjusting the flow of data from one device to another to ensure that the receiving device can handle all of the incoming data. This is particularly important where the sending device is capable of sending data much faster than the receiving device can receive it.
There are many flow control mechanisms. One of the most common flow control protocols for asynchronous communication is called xon-xoff. In this case, the receiving device sends a an xoff message to the sending device when its buffer is full. The sending device then stops sending data. When the receiving device is ready to receive more data, it sends an xon signal.
Flow control can be implemented in hardware or software, or a combination of both.
(2) In programming, the statements and other constructs that control the order in which operations are executed. For example, common looping statements such as for��next and while are known as flow control statements. Branching statements, such as if��then are also part of a programming language's flow control mechanism.