在Linux C中使用相同代码的多个线程处理大数据

时间:2011-06-16 22:03:51

标签: c linux multithreading

可以创建多个具有相同功能的线程来处理小块中的大型数组吗?

我正在尝试在Linux C中执行此操作,假设我已读取()它正在从串行读取数据到数组,当数组已满时将其传递给处理为stable(),同时将其处理,读取应该是读取新数据,因为stable()需要很长时间来处理旧数据,因此新创建的stable()线程应该处理数组中可用的新数据。

问题是我很困惑,我可以在Linux C中创建两个stable()线程吗?

1 个答案:

答案 0 :(得分:0)

使用pthreads API创建的每个线程都指定了一个与标准签名匹配的入口点:

void *entry(void *)
{
   return 0;
}

一旦调用了该入口点,您就可以调用任何您想要的东西,包括上面引用的stable()例程。但是,您需要注意确保stable()和它调用的任何东西都是线程安全的。