Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 可以使用自己的内存空间进行Linux多线程处理吗?_C_Linux_Multithreading_Stack_Overflow - Fatal编程技术网

C 可以使用自己的内存空间进行Linux多线程处理吗?

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

我有一个Linux C程序,在Raspberry 3中运行良好。当我在另一个sbc Raspberry Zero的内存不足的情况下运行它时,它会运行大约2-3天,然后冻结。我认为这是一个堆栈溢出的情况

当主程序冻结时,我会放置一个线程来定期检查。不幸的是,如果主进程崩溃,它会关闭进程中的所有其他线程


我可以通过让另一个进程检查第一个进程来避免这种情况,但我更喜欢线程。有没有可能让安全的线程不冻结主进程?不,这是不可能的,因为根据线程定义,它们共享内存,并且是主进程的一部分,它拥有所有内存。因此,一切都会影响主进程,所有线程都会受到影响

这是线程和进程之间的主要区别,不管它们是否共享相同的地址空间。