睡眠排序简介
睡眠排序算法是一种比较另类有趣的排序算法,其核心思想与CPU调度机制相关,是通过多线程让每一个数据元素睡眠一定规律的时间,睡眠时间要和自身数据大小存在一定的规律,睡眠时间短的先进行输出,睡眠长的后输出,从而实现数据有序输出。
睡眠排序由于其独有的排序方式,排序数字最好是非负整数,且最大值不要太大,否则算法会运行很久……非负小数其实也可以,但是排序后的相邻小数的差值不要太小,否则可能会出错,因为多线程的运行有其不确定性和延迟的可能……
睡眠排序涉及到多线程的设计、启动、运行,以及控制的方法,是多线程编程的一次小小实战!
睡眠排序实战
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/*
*@author Azheng
*@description
*@date 2022/4/9
*/
public class MoreThreadSleepSort {
//定义一个数组
static int[] nums={78,42,56,5,46,33,28,89,1,18};
//新建集合arraylist集合存放排序后的数据
static List<Integer> list