有没有一个C++等同于逻辑的时间
Is there a C++ equivalent of a logical when?
有没有办法用触发器来调节某些东西?具体来说,我有一个 MPI 实现,并希望在收到其他一些数据后立即发送一些数据。到目前为止,我已经使用了:
MPI_Wait(&recv_request,&status)
MPI_ISend(...)
我想知道是否有办法跳过等待并进行一些计算,并且仅在触发recv_request
时才返回。
MPI 中的解决方案是使用 MPI_Test
。
int flag;
MPI_Test(&recv_request, &flag, &status);
while (!flag) {
do_work();
MPI_Test(&recv_request, &flag, &status);
}
// At this point, the request state is the same as for a completed MPI_Wait
do_work
的工作粒度是一种权衡。如果每个调用的工作太少,则持续测试的开销将很大,并且完成的工作将很少。如果每次调用工作量太大,延迟会增加。如果您使用MPI_Test
,与MPI_Wait
相比,延迟总是更糟。
现在还有其他方法可以使用线程来做到这一点,但这可能更复杂,特别是需要与必要的线程级别兼容的 MPI 实现。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 从持续时间构造std::chrono::system_clock::time_point
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- while循环中while循环的时间复杂度是多少
- 使用简单类型列表实现的指数编译时间.为什么
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 在已经使用Git的情况下减少编译时间
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 从文本文件中读取时钟时间和事件时间并进行处理
- 具有未知值时的时间复杂性
- 如何减少花费的时间
- C++在变量给定的指定时间内关闭电脑
- rcpp函数中的清理时间很长
- C++:floor unix时间戳到UTC月份
- 如何在c++中录制具有精确帧时间戳的视频
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- KMP算法和LPS表构造的运行时间
- 为什么std::互斥需要很长的、非常不规则的时间来共享
- 有没有一个C++等同于逻辑的时间