【问题标题】:pthreads to processes in cpthreads到c中的进程
【发布时间】:2014-06-21 00:17:37
【问题描述】:

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

【问题讨论】:

  • 问:你的操作系统是什么?问:您使用的是什么编译器?这个“同步项目”到底是做什么的?您的线程是否共享数据?是否有任何锁定或信号?
  • @FoggyDay 这只是一个非常简单的学校作业(过河问题)。我在 Linux 上使用带有 -std=gnu99 标志的 gcc 4.8(以及一些 -pedantic -Wall -Wextra 的东西......)
  • 如果你问它是否“容易”,不。与所有并发问题一样,它乏味。如果您问“如何”做到这一点,同时保留尽可能多的代码,您将需要研究 (a) POSIX 进程共享内存,以及 (b) 将线程同步对象存储在 say-shared 中的机制记忆。它是可行的,但如果你有机会在几个小时内完成它,你的线程代码最好是solid。祝你好运。

标签: c multithreading process synchronization


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-06-21
    • 2011-01-25
    • 2016-08-06
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    相关资源
    最近更新 更多