c - 为每个线程保留一个字符串列表

标签 c multithreading daemon

我正在开发一个多线程套接字监听器(守护进程)。

我使用 pthread 库成功实现了多线程。

当设备连接到它发送的守护进程时,我的问题是:

如何为每个线程存储该标识号,以便当我从该设备接收到一些数据时知道它的 ID。

在 delphi 中有一个叫做 threadvar 的东西(一个为每个线程分配的变量)。如果这不可能,是否有一个库可以用来存储列表?我不打算重新发明 weel(例如制作我自己的链表)

我在 Linux Mint 上使用 GNUCC

最佳答案

如果我们有您的代码会更容易回答,但是:

  • 如果你想要一个带pthread的线程局部变量,就在函数的栈上分配即可 它在线程中运行(此线程局部变量将是指向您的字符串列表的指针)。
  • 您可以使用 Glib它有单向和双向链表来存储你的字符串。确保在线程中运行的函数末尾释放列表
  • 您可以将数据传递给函数,该函数将通过 void * 指针进行线程化(尽管尚不清楚您是否需要这样做)

关于c - 为每个线程保留一个字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079158/

相关文章:

objective-c - 如何将 Objective-C 字符串转换为 C 字符串?

多核机器上的 OpenSSL

android - 屏幕关闭时保持 UI 线程运行

daemon - Varnish DAEMON_OPTS 选项错误

java - Java 守护线程是否与生成进程共享堆或 Perm Gen?

c - fscanf 读取空格分隔的数据直到返回

c - 如何强制IAR保持链接中断相关函数?

python - 如何以编程方式停止 multiprocessing.Pool 映射函数

C# - 线程中止和 System.NullReferenceException

Python 线程 : Multiple While True loops