2013-03-25 96 views
0

可能嗎? 我在此基礎上一個我的代碼: http://cnds.eecs.jacobs-university.de/courses/osn-2004/s3.pdf在隨機時間生成隨機線程C

我想改變的事情是,我要生成東()和西部()函數的線程以隨機的方式(一個或其他)和隨機時間,因爲代碼只會生成主函數中的nw(線程向西)和ne(線程向東)變量插入的線程數。我不在尋找任何代碼,因爲我沒有寫我的代碼,而且代碼是由另一個人編寫的,我只想要一個想法(因爲我將自己介紹到C語言的線程中),我可以使用random()或另一個功能來完成我的目標。我仍然沒有在這件事上得到正確的想法。 例如,如果您以nw = 3和ne = 2運行該程序,它將打印哪些車正在穿過橋,並以哪個方向(前3個走西,然後2個走東)。我希望它更現實一些,有隨機車,在不同的時間到達橋上,所以我可以制定一個功能,決定首先像交警那樣開車。 對不起,如果我不清楚的想法。任何幫助將是有益的

+0

你的代碼在哪裏? :)一切皆有可能... – 2013-03-25 21:10:26

+0

這就是爲什麼我問的想法,而不是代碼)開始編碼,並看看會發生什麼,這個多線程的事情是新的給我,讓我有點開裂我的腦殼思考如何我可以隨機生成它們 – dlvx 2013-03-25 21:18:41

回答

1

在計算機科學中的整個世界,沒有東西可以複製「隨機」的概念的屬性。等價的東西是一個僞隨機數發生器。

在C有從專用於該像rand()的標準不同的功能。

關於線程的部分可以大概提到了「線程產卵」主題。

Here it is a simple answer與例如簡單的代碼庫相關。

我個人認爲,你應該切換到C++對於這類應用,特別是如果你還不熟悉你的主要議題,特別看向了C++ 11功能。

請注意,在談論僞隨機數的產生時,使用和編碼能夠正確完成工作的算法非常重要,許多人認爲標準中的C函數只是「破碎」,因爲在重現僞隨機行爲的一種有效方式。所以,根據你想要的,標準的功能是不夠的。