【问题标题】:Generating random threads at random times in C在C中随机时间生成随机线程
【发布时间】:2013-03-15 12:29:37
【问题描述】:

有可能吗? 我的代码基于这个: http://cnds.eecs.jacobs-university.de/courses/osn-2004/s3.pdf

我想改变的是我想以随机方式(一种或另一种)和随机时间生成east()和west()函数线程,因为代码只生成你的线程数在主函数中插入 nw(向西的线程)和 ne(向东的线程)变量。我不是在寻找任何代码,因为我还没有编写我的代码并且该代码是由另一个人编写的,我只是想知道如何使用 random()或实现我的目标的其他功能。我对这件事仍然没有正确的想法。 例如,如果您以 nw=3 和 ne=2 运行程序,它将打印出哪些汽车正在过桥以及朝哪个方向(前 3 辆向西,然后 2 辆向东)。我希望它更真实,有随机的汽车,在不同的时间到达桥,所以我可以制作一个函数来决定哪辆车先走,就像交警一样。 对不起,如果我不清楚这些想法。任何帮助都会很有用

【问题讨论】:

  • 你的代码在哪里? :) 一切皆有可能......
  • 这就是为什么我要征求想法而不是代码的原因;)开始编码并看看会发生什么,这种多线程的东西对我来说是新的,所以我有点想知道我该怎么做随机生成它们

标签: c multithreading random


【解决方案1】:

在整个计算机科学世界中,没有任何东西可以复制“随机”概念的属性。等价的东西是一个伪随机数生成器。

在 C 中,有与标准不同的函数,例如 rand()

关于线程的部分,大概可以参考“线程生成”这个话题。

Here it is a simple answer 以一个简单的相关代码库为例。

我个人认为,对于此类应用程序,您应该切换到 C++,尤其是如果您甚至不熟悉您所从事的主要主题,尤其是对 C++11 特性的看法。

请注意,在讨论伪随机数生成时,使用和编写可以正确完成工作的算法非常重要,许多人认为标准中的 C 函数只是“损坏”,因为在重现伪随机数时存在问题- 有效的随机行为。因此,根据您的需要,标准中的功能是不够的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多