c - 多线程处理一系列方程式

标签 c multithreading sysbios

我有一长串方程看起来像这样,除了大约 113 个 t:

t1 = L1;
t2 = L2 + 5;
t3 = t2 + t1;
t4 = L3
...
t113 = t3 + t4
return t113;

其中 L 是输入参数。

计算 t113 需要很长时间。所以我试图把它分成几个不同的线程,试图让它更快。问题是我不确定该怎么做。我试着在纸上用手画出树形的 t,这样我就可以更好地分析它,但它在中途变得太大而且笨重。

还有其他方法可以加快计算速度吗?谢谢。

编辑:我正在使用带有 SYS/BIOS 的 8 核 DSP。根据我的前任,这些逆向和正向运动学方程将花费最多的时间来处理。我的前任也有意选择了这个8核DSP作为实现的硬件。所以我假设我应该以充分利用所有 8 个内核的方式编写代码。

最佳答案

对于依赖于其他值的值,您将很难将工作分配给不同的线程。那么您也可能会有一个线程在等待另一个线程。并且启动新线程可能比仅计算 113 个值更昂贵。

您确定计算 t113 需要很长时间吗?或者是其他需要很长时间的事情。

关于c - 多线程处理一系列方程式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16345049/

相关文章:

c# - 我可以限制 ThreadPool 中线程的创建吗?

java - 从一个 Java 应用程序启动多个 Java 应用程序

java - 使用多线程设置线程优先级没有效果

linux - 多核处理器之间的区别

c# - 如何在 C# 中读取 MKV 电影文件的元数据?

C 指针和数组

c - memcpy 和 memset 与分配和初始化的历史

c++ - 通过不同的线程使用多个 ORB(多线程多 Orb 客户端应用程序) - 如何?