sv线程通信

  • Post author:
  • Post category:其他




线程类:

问题:线程之间如何通信?



model

中,

initial



always

块作为独立的子线程是通过

信号的变化

来触发,并且实现进程间的通信。



sv

中, 通常用

initial

开启父类线程,包括

begin end

, 以

顺序方

式执行,但是不消耗时间,

fork join



并行

方式执行。

initial

父类线程可以有多个子线程块,父线程终止时,所有子线程终止,而子线程终止时,父线程可以继续。


fork join

线程的特点,并行执行其内部语句,当所有的语句执行完毕,退出该线程。


fork join_any

线程的特点,并行执行其内部语句,就跳出该线程,执行接下来的语句,不会等所有语句执行完毕。有可能整个线程都结束,其内部线程还在没结束。


fork join_none

线程的特点,一开始就跳出该线程。有可能整个线程都结束,其内部线程还在没结束。


wait fork

,语句,等待所有的

fork

线程结束。

task run_threads;
 .<



版权声明:本文为qq_37884273原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。