1. A method of synchronizing a group of tasks executed by an execution unit of circuitry of a microcontroller, said method comprising: utilizing a network processor with the microcontroller circuitry to govern each task in said group of tasks making an initial determination of one or more paths that said each task expects to follow; the microcontroller further governing each task in said group of tasks declaring need to access a shared resource via a signal in a plurality of signals, based on said initial determination; granting access to said shared resource by the processor, based on the plurality of signals, to a second task in said group after a first task in said group declares via another signal no need to access said shared resource; said first task executing without accessing said shared resource; said second task accessing said shared resource only after said granting; and a third task in said group declaring need to access the shared resource and later declaring no need to access the shared resource to indicate a change in expectation on the access to the shared resource by the third task.