如何从另一个线程取消GTK3线程?

时间:2019-06-03 20:27:10

标签: c multithreading gtk gtk3

我有一个图形应用程序,该应用程序正在使用GLib和g_thread函数来创建和操作线程。当我按下“确定”按钮时,我创建了一个执行一些繁重任务的线程。但是,我想要另一个名为“取消”的按钮,它允许我随时取消创建的线程。

我正在做一些研究,但是我找不到任何办法:从不是创建线程的另一个地方终止线程。仅可以从线程正在执行的函数中调用函数g_thread_exit。因此,我的主要目的是从单击“取消”按钮时发起的另一个线程中取消创建的线程。

也许我必须使用pthread库,该库具有一个名为pthread_cancel的函数,可以满足我的期望。

非常感谢您提供任何信息。

1 个答案:

答案 0 :(得分:1)

您可以在两个线程之间共享一个GCancellable,并在取消该任务时让繁重的任务调用g_thread_exit()

使用GLib线程确实无法直接从另一个线程中止一个线程。

相关问题