安全地取消线程

时间:2013-11-09 12:29:02

标签: c pthreads

我在main中有C代码,可以创建10个线程。然后我加入那些线程。

每个线程都转到这样的函数:

void test_function(char *findThis)
{
    // do something

    // then something like this
    if message cancel thread?
}

该消息可能是一个布尔全局变量。如何取消之后的线程?

1 个答案:

答案 0 :(得分:1)

在C中,线程执行特定的功能。如果从该功能返回,则不再存在。

所以,如果你想让你的线程停止,只需从该函数返回,就像这样 -

if (got_my_message) {
    return;
}

当然,您应该先执行必要的资源清理(即释放已分配的内存)。