我有一个在Raspberry 3中运行良好的Linux C程序。当我在另一个sbc(Raspberry Zero)的低内存情况下运行它时,它运行大约2-3天然后冻结。我相信这是一个堆栈溢出的情况。
我已经在主程序冻结时定期检查一个帖子。不幸的是,如果主进程崩溃,它会占用进程中的所有其他线程。
我可以通过让另一个进程检查第一个进程来避免这种情况,但我更喜欢一个线程。是否有可能使线程安全并且不冻结主进程冻结?
答案 0 :(得分:1)
很容易不,这是不可能的,因为每个线程定义它们共享内存,它们是主进程的一部分,它拥有它们。因此,一切困扰主要过程的所有线索都会受到影响。