Fork join 系列
- fork… Join
- 最基本的并发结构,父进程会阻塞直到所有子进程完成
- fork… Join_any
- 父进程会在任意一个子进程完成后立即恢复执行,而不需要等待其他子进程完成。
- fork… Join_none
- 与
fork...join
不同,fork...join_none
不会阻塞父进程,父进程会立即与产生的所有子进程并发执行。父进程不会等待任何子进程完成,而是继续执行后续代码。
- wait fork
- 用于等待所有 fork 块内的子进程完成。
- disable fork
- 用于终止正在执行的 fork 块及其所有子进程 fork… Join_none 、fork… Join_any 搭配执行
initial begin
$display("\nTesting fork...join at %0t", $time);
fork
begin
#20;
result1 = 4'h1;
$display("Task 1 completed at %0t", $time);
end
begin
#30;
result1 = 4'h2;
$display("Task 2 completed at %0t", $time);
end
begin