Processes can be suspended with wait expression. Theses suspended processes can be recalled when defined conditions become TRUE. If the process is not delayed the suspended operations become active in the same simulation interval.
The recalled process continues to operate sequentially till wait expression. On wait expression it is suspended again.
process (CLK, RST)
if RST='1' then
Q <= '0';
elsif (CLK'event) and (CLK='1') then
Q <= D;
In this example a D flip flop is designed. This process is sensitive two signals called CLK and RST. If any of these signals change, the process will be called.
After recalling the process, "if" statement is proccessed than it is suspended again. In order to recall this process you need to wait an change on CLK or RST signals.