Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 我的应用程序运行了多少线程?_C_Multithreading_Gdb - Fatal编程技术网

C 我的应用程序运行了多少线程?

C 我的应用程序运行了多少线程?,c,multithreading,gdb,C,Multithreading,Gdb,在我的代码中,我最多启动两个线程: int main() { ... if (!justcrawler) pthread_create(&dns_thread, NULL, &dns_resolver_init, NULL); if (!justdns) pthread_create(&crawler_thread, NULL, &crawler_init, (voi

在我的代码中,我最多启动两个线程:

int main()
{
...
        if (!justcrawler)
                pthread_create(&dns_thread, NULL, &dns_resolver_init, NULL);

        if (!justdns)
                pthread_create(&crawler_thread, NULL, &crawler_init, (void *)&config);
...
}
当我在gdb中运行该程序时,我会得到很多这样的行:

[New Thread 0x7fff56ffd700 (LWP 188780)]
[New Thread 0x7fff567fc700 (LWP 188781)]
[New Thread 0x7fff55ffb700 (LWP 188782)]
[New Thread 0x7fff557fa700 (LWP 188783)]

这让我觉得有两个以上的线程正在运行。发生什么事?如何检查程序正在运行的线程数?

您可以使用
信息线程
显示当前存在的所有线程。

您可以使用
信息线程
显示当前存在的所有线程

这让我觉得有两个以上的线程正在运行。什么 怎么了

您可以在
pthread\u create
上设置断点并进行验证。如果您只运行2个线程,那么应该正好命中此断点2次。但根据gdb输出,创建了2个以上的线程,因此应该命中断点2次以上

这让我觉得有两个以上的线程正在运行。什么 怎么了


您可以在
pthread\u create
上设置断点并进行验证。如果您只运行2个线程,那么应该正好命中此断点2次。但是根据gdb输出,创建了2个以上的线程,因此您应该命中断点2次以上。

dns\u解析器\u init()的作用是什么?
crawler\u init()
做什么?如果您正在调用其他人的web爬虫库,那么您如何知道它不会创建自己的线程?“很多”是多少?不,我没有用别人的图书馆。不,我的函数不创建自己的线程。数字各不相同。我一次看到多达30条这样的信息。但他们总是回来。我用
关闭打印线程事件
关闭了它们,它们很烦人。但是我仍然不明白发生了什么。
dns\u resolver\u init()
做什么?
crawler\u init()
做什么?如果您正在调用其他人的web爬虫库,那么您如何知道它不会创建自己的线程?“很多”是多少?不,我没有用别人的图书馆。不,我的函数不创建自己的线程。数字各不相同。我一次看到多达30条这样的信息。但他们总是回来。我用
关闭打印线程事件
关闭了它们,它们很烦人。但我还是不明白发生了什么。谢谢。我试过了。它显示了预期的线程数。到现在为止,一直都还不错。但我仍然想知道所有新的线程消息意味着什么。谢谢。我试过了。它显示了预期的线程数。到现在为止,一直都还不错。但我仍然想知道所有新的线程消息意味着什么。