1. A method for providing data flow control, the method comprising: (a) when a first task of a plurality of tasks is initiated, determining a buffer parameter; (b) initializing a buffer count for the first task; (c) for each iteration of the first task using a data buffer unit of input data, correspondingly adjusting the buffer count; (d) when the buffer count meets the buffer parameter requirements, changing the state of the first task and determining a next action.