pthread_create - 如何创建单个线程并在需要时在循环中调用它

时间:2014-07-25 13:37:54

标签: c pthreads

我查看了pthread_create的示例,但是所有示例都非常相似:它们在while或for循环中调用pthread_create,因此创建了许多线程。如何在循环之前创建一个线程然后在需要时在循环中调用它?每当我调用它时,它就会进入功能并在那里执行它的工作。

THX

1 个答案:

答案 0 :(得分:0)

  

每当我调用它时,它都会进入功能并执行其工作   有

你不能这样做。当您成功创建pthread_create的线程时,线程函数开始并行执行。并且在函数返回后,线程终止

如果您需要再次'call'线程函数,则必须创建另一个线程。

如果您的要求是处理从服务器收到的数据包,您可以使用以下路径:

  • 接收Packet
  • 使用函数创建一个线程来处理Packet并将Packet传递给它。 (阅读有关螺纹功能的参数)。
  • 转到第1步。

线程功能将处理您的数据包,同时您可以从服务器接收下一个数据包。