C 可以使用自己的内存空间进行Linux多线程处理吗?
我有一个Linux C程序,在Raspberry 3中运行良好。当我在另一个sbc Raspberry Zero的内存不足的情况下运行它时,它会运行大约2-3天,然后冻结。我认为这是一个堆栈溢出的情况 当主程序冻结时,我会放置一个线程来定期检查。不幸的是,如果主进程崩溃,它会关闭进程中的所有其他线程C 可以使用自己的内存空间进行Linux多线程处理吗?,c,linux,multithreading,stack,overflow,C,Linux,Multithreading,Stack,Overflow,我有一个Linux C程序,在Raspberry 3中运行良好。当我在另一个sbc Raspberry Zero的内存不足的情况下运行它时,它会运行大约2-3天,然后冻结。我认为这是一个堆栈溢出的情况 当主程序冻结时,我会放置一个线程来定期检查。不幸的是,如果主进程崩溃,它会关闭进程中的所有其他线程 我可以通过让另一个进程检查第一个进程来避免这种情况,但我更喜欢线程。有没有可能让安全的线程不冻结主进程?不,这是不可能的,因为根据线程定义,它们共享内存,并且是主进程的一部分,它拥有所有内存。因此,
我可以通过让另一个进程检查第一个进程来避免这种情况,但我更喜欢线程。有没有可能让安全的线程不冻结主进程?不,这是不可能的,因为根据线程定义,它们共享内存,并且是主进程的一部分,它拥有所有内存。因此,一切都会影响主进程,所有线程都会受到影响 这是线程和进程之间的主要区别,不管它们是否共享相同的地址空间。