C主线程与其他线程的区别
C difference between main thread and other threads
第一个线程和运行时创建的其他线程有区别吗?因为我有一个程序,其中使用了 longjmp 来中止并且线程应该能够终止该程序(退出或中止在我的情况下不起作用)。我可以安全地使用 pthread_kill_other_threads_np 然后使用 longjmp 吗?
我不确定你说的是什么平台,但 pthread_kill_other_threads_np
不是标准功能,也不是比 free_all_malloced_memory
更合理的操作。进程终止本质上涉及所有线程相对于彼此的原子终止(它们看不到彼此终止)。
至于 longjmp
,虽然 longjmp
没有任何问题,但您不能使用它跳转到不同线程中的上下文。
听起来你这里有XY问题;你问过你是否可以使用(或如何使用)特定的工具,这些工具不是你想要的任何东西的正确工具,而没有实际解释你的约束是什么。
第一个线程和运行时创建的其他线程有区别吗?因为我有一个程序,其中使用了 longjmp 来中止并且线程应该能够终止该程序(退出或中止在我的情况下不起作用)。我可以安全地使用 pthread_kill_other_threads_np 然后使用 longjmp 吗?
我不确定你说的是什么平台,但 pthread_kill_other_threads_np
不是标准功能,也不是比 free_all_malloced_memory
更合理的操作。进程终止本质上涉及所有线程相对于彼此的原子终止(它们看不到彼此终止)。
至于 longjmp
,虽然 longjmp
没有任何问题,但您不能使用它跳转到不同线程中的上下文。
听起来你这里有XY问题;你问过你是否可以使用(或如何使用)特定的工具,这些工具不是你想要的任何东西的正确工具,而没有实际解释你的约束是什么。