用fork模拟线程()

Ema*_*res 6 c c++ multithreading fork

你有什么想法用"fork()函数""共享内存"块来模拟线程 ......

可能吗 ?

为程序执行此操作有多合理?(我的意思是,它会运作良好吗?)

Joh*_*tte 2

是的,这是可能的,但我无法想象这是一个好主意,而且测试起来会很痛苦。

如果您有一个共享堆,并且确保所有信号量等都在堆中分配,而不是在堆栈中,那么没有固有的原因您不能执行类似的操作。不过,会有一些棘手的差异。

例如,您在多线程程序的中断处理程序中执行的任何操作都可能更改所有线程使用的数据,而在分叉程序中,您必须发送多个中断,这些中断将在不同的时间被捕获,并可能导致达到意想不到的效果。

如果您想要线程行为,只需使用线程即可。