在C中随机生成随机线程

时间:2013-03-25 21:05:16

标签: c multithreading random

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

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

1 个答案:

答案 0 :(得分:1)

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

在C中,有与rand()等专用标准不同的功能。

关于线程的部分可能可以称为“线程产生”主题。

例如,

Here it is a simple answer带有一个简单的相关代码库。

我个人认为你应该为这种应用程序切换到C ++,特别是如果你甚至不熟悉你所处的主要主题,特别关注C ++ 11的功能。

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