如何从另一个线程取消 GTK3 线程?
How to cancel GTK3 thread from another thread?
我有一个图形应用程序,我正在使用 GLib 和用于创建和操作线程的 g_thread
函数进行开发。当我按下 "ok" 按钮时,我创建了一个线程来执行一些繁重的任务。但是我想要另一个名为 "cancel" 的按钮,它允许我随时取消创建的线程。
我正在做一些研究,但我找不到任何方法:从另一个不是创建线程的地方终止线程。函数 g_thread_exit
只能从线程正在执行的函数中调用。所以我的主要目的是取消创建的线程从我单击 "cancel" 按钮时发起的另一个线程。
也许我必须使用 pthread
库,它有一个名为 pthread_cancel
的函数可能符合我的期望。
非常感谢您提供任何类型的信息。
可以在两个线程之间共享一个GCancellable
,取消时让重任务线程调用g_thread_exit()
。
使用 GLib 线程确实无法直接从另一个线程中止一个线程。
我有一个图形应用程序,我正在使用 GLib 和用于创建和操作线程的 g_thread
函数进行开发。当我按下 "ok" 按钮时,我创建了一个线程来执行一些繁重的任务。但是我想要另一个名为 "cancel" 的按钮,它允许我随时取消创建的线程。
我正在做一些研究,但我找不到任何方法:从另一个不是创建线程的地方终止线程。函数 g_thread_exit
只能从线程正在执行的函数中调用。所以我的主要目的是取消创建的线程从我单击 "cancel" 按钮时发起的另一个线程。
也许我必须使用 pthread
库,它有一个名为 pthread_cancel
的函数可能符合我的期望。
非常感谢您提供任何类型的信息。
可以在两个线程之间共享一个GCancellable
,取消时让重任务线程调用g_thread_exit()
。
使用 GLib 线程确实无法直接从另一个线程中止一个线程。