问题很简单,但我相信解决方案(如果存在的话)相当复杂。无论如何,我目前正在开发一个分布式应用程序,它应该通过使用线程并行实现简单的事务处理(PRINT、ADD、SLEEP、ASSIGN 等)(我正在使用 Pthreads 进行此分配)。正如预期的那样,我在尝试同时处理多个冲突事务(可能高达 20 个)时出现死锁问题。
现在,我决定为每个线程的事务处理实现多次重试,这些线程基本上是随机生成的,srand(time(NULL))
并rand()
以该顺序精确调用。问题是,当处理多个事务(最多 5 个不同的服务器)时,数字匹配,因为它们基本上是在同一时间生成的。
所以,我的问题是,有没有一种方法可以完全随机生成整数而不使用该time()
函数,而是使用其他方法?
提前感谢您的任何帮助,并对(太)长的描述感到抱歉。