0

作为我项目的一部分,我必须使用线程修改数值积分算法。

这大致是在传统的顺序方法中发生的事情。

void Controller(struct DE)
{
    //initialization step
    for(;;)   //till the entire range has not been covered...
    {
         //compute the next time-point solution using the previously known solutions.
         NIiter();
         //then check if the result is acceptable or not and take the necessary steps...
    }
}

现在这就是我打算做的......

void Controller(struct DE)
{
    //initialization step
    for(;;)   //till the entire range has been covered...
    {
         //compute the next time using the previously known solution.
         NIiter();
         //when I have an approximate solution available..launch a thread to compute the next time-point using this approximate solution as a previous solution...something like forward pipelining...
         //then check if BOTH the results are acceptable or not and take the necessary steps...
    }
}

但我不明白如何通知我的控制器有一个近似的解决方案可用......所以它可以启动一个新线程......

这是我第一次接触多线程编程......如果这似乎是一个明显的问题,请原谅我......我也在我的项目中使用 Pthread 库......

4

1 回答 1

1

这是一个很大的话题,但这里有一些提示

  1. 工作线程- 基本上是创建一堆线程并有一个任务队列。他们排在队列中的一个并完成工作
  2. IPC - 这里有信号量、共享内存、消息传递。链接在页面上

Wikipedia 将助您一臂之力。

于 2012-11-04T10:36:48.197 回答