我正在Linux使用 Qt 库编写一个应用程序。
所以,有两个QThreads。在其中一个线程pcap_next()函数中while循环调用。所有线程在其工作期间经常使用彼此的公共成员。
不使用pcap库(例如从硬盘读取数据包)一切都是正确的,但是当我尝试将 pcap 的功能放入单独的thread时,我有 SEGFAULT 错误。
我无法理解如何pcap工作。它看起来像pcap冻结了整个过程,因此线程无法访问彼此的公共成员。
run()pcap的线程的主要功能是这样的:
while()
{
Data = pcap_next(handle, &header);
if (Data...)
{
//processing functions
}
}
有任何想法吗?