如何在C++;框架 我用C++开发了一个框架,它包含三层: 低级别的函数完成了繁重的工作 使用低级函数完成任务的上层(此级别的函数通常只使用一个低级函数,并显式接受函数的指针以知道调用哪个函数) 利用这些中间层函数完成任务的顶级类

如何在C++;框架 我用C++开发了一个框架,它包含三层: 低级别的函数完成了繁重的工作 使用低级函数完成任务的上层(此级别的函数通常只使用一个低级函数,并显式接受函数的指针以知道调用哪个函数) 利用这些中间层函数完成任务的顶级类,c++,parallel-processing,frameworks,C++,Parallel Processing,Frameworks,问题是,我正在将并发性引入到框架中,并且需要一种基于每个函数调整这种并发性的方法。我可以设计一个对象来传输并发参数,但我不想将对象传递给非并发函数 并发函数可以是任意级别的,它们的并发性需要独立控制 是否有更好的模式或方法只允许并发函数访问此信息?如果您看到其中许多函数都有一个执行策略,该策略作为额外的初始参数添加到函数中(例如,请参见)。也许你可以用类似的方法解决你的问题?也就是说,您保留了旧的非并行函数,并添加了使用特殊参数处理并行性的重载?谢谢!我来看看。更改签名是我首先要避免的,因为所有

问题是,我正在将并发性引入到框架中,并且需要一种基于每个函数调整这种并发性的方法。我可以设计一个对象来传输并发参数,但我不想将对象传递给非并发函数

并发函数可以是任意级别的,它们的并发性需要独立控制


是否有更好的模式或方法只允许并发函数访问此信息?

如果您看到其中许多函数都有一个执行策略,该策略作为额外的初始参数添加到函数中(例如,请参见)。也许你可以用类似的方法解决你的问题?也就是说,您保留了旧的非并行函数,并添加了使用特殊参数处理并行性的重载?谢谢!我来看看。更改签名是我首先要避免的,因为所有框架都是建立在函数互换性的基础上的。更改签名(或添加覆盖)将几乎复制所有函数。我在框架中有一个名称空间,我正在考虑添加一个全局线程策略对象或映射到一个合适的名称空间。