利用线程的随机调度特性和sleep函数的低精度特性,在主程序中创建和字符数目相同的线程,将线程的编号传递给每个线程的处理函数,这个编号也对应字符串的下标,在线程处理函数中,首先调用sleep函数,然后将该下标处的字符和下标为0的字符交换;
有两个步骤引入了随机性,一个是线程的随机调度特性导致线程处理函数的调用顺序随机;另一个是调用了低精度的sleep函数,后进入睡眠的线程可能会比先进入睡眠的线程先苏醒,产生比较理想的伪随机序列。
利用线程的随机调度特性和sleep函数的低精度特性,在主程序中创建和字符数目相同的线程,将线程的编号传递给每个线程的处理函数,这个编号也对应字符串的下标,在线程处理函数中,首先调用sleep函数,然后将该下标处的字符和下标为0的字符交换;
有两个步骤引入了随机性,一个是线程的随机调度特性导致线程处理函数的调用顺序随机;另一个是调用了低精度的sleep函数,后进入睡眠的线程可能会比先进入睡眠的线程先苏醒,产生比较理想的伪随机序列。