2014-05-04 31 views
-1

我解决了同步问题。通过线程(使用pthread.h)在C中进行项目,但是我发现我需要使用进程来完成它。这会很难重做吗?我有约。 4个小时,我应该尝试吗?我对流程了解不多。pthreads到c中的进程

+0

问:你的操作系统是什么?问:你在使用什么编译器?这个“同步项目”到底做了什么?你的线程是否共享数据?有没有锁定或信号? – FoggyDay

+0

@FoggyDay这只是一个非常简单的学校任务(河流穿越问题)。我在Linux上,正在使用gcc 4.8和-std = gnu99标志(以及一些pedantic -Wall -Wextra的东西...) – imre

+0

如果你问是否“简单”,不需要。就像所有的并发问题一样,它是*乏味的*。如果您在保持尽可能多的代码的情况下询问“如何”执行该操作,则需要调查(a)POSIX进程共享内存,以及(b)用于在所述共享中存储线程同步对象的机制记忆。它是可行的,但你的线程代码最好是*固体*,如果你有机会在几个小时内拉断它。祝你好运。 – WhozCraig

回答

1

这取决于问题以及线程间的通信方式。

如果线程是独立的并且不需要任何通信,则可以使用进程而不是线程。如果有很多沟通和锁定,当然会更困难。然后你必须像共享内存和信号量一样查看Inter-process communication