0

我在 main 中有创建 10 个线程的 C 代码。然后我加入这些线程。

每个线程都去一个这样的函数:

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

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

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

4

1 回答 1

1

在 C 中,线程执行特定的函数。如果您从该函数返回,则它不再存在。

因此,如果您希望线程停止,只需从该函数返回,如下所示 -

if (got_my_message) {
    return;
}

当然,您应该在执行此操作之前执行必要的资源清理(即,释放分配的内存)。

于 2013-11-09T12:31:45.093 回答