package com.sleep;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 9, 2, 8, 8, 3, 6, 4, 5, 7};
for (int i1 : arr) {
new SleepThread(i1).start();
}
}
}
class SleepThread extends Thread {
private int number;
SleepThread(int number) {
this.number = number;
}
@Override
public void run() {
try {
Thread.sleep(number * 500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(number + "");
}
}
这里*500毫秒,方便看过程,如果数大一点,嗯…就像标题写的那样了
睡眠排序虽然挺有意思,但是没有任何实际价值,它的缺点简直不要太多……
启动大量线程的资源消耗姑且不说,数值接近的元素也未必能按顺序输出,而且一旦遇到很大的元素,线程睡眠时间可能会超过一个月……