transator中关于channel的使用
时间:10-02
整理:3721RD
点击:
vmm中,看到过两种channel的使用方法
1. forever begin
wait_if_stopped_or_empty(in_chan);
in_chan.peek(tr);
…………
in_chan.get(tr);
end
2. forever begin
wait_if_stopped_or_empty(in_chan);
in_chan.activate(tr);
…………
in_chan.start();
…………
in_chan.complete();
…………
in_chan.remove();
end
这两种应该实现的结果是一样的吧?这个有什么区别吗?
1. forever begin
wait_if_stopped_or_empty(in_chan);
in_chan.peek(tr);
…………
in_chan.get(tr);
end
2. forever begin
wait_if_stopped_or_empty(in_chan);
in_chan.activate(tr);
…………
in_chan.start();
…………
in_chan.complete();
…………
in_chan.remove();
end
这两种应该实现的结果是一样的吧?这个有什么区别吗?
1.一般用于简单的单向数据通道
2.一般用于producer <-> consumer模型
具体的区别看看源代码就知道了