java睡眠排序算法示例实现

 更新时间:2022年02月08日 15:48:04   作者:负债程序猿  
这篇文章主要为大家介绍了java睡眠排序算法的示例实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

无聊逛论坛,发现了这张图

真是厉害啊,这排序, 既有多线程,又有排序,还有lambda表达式,但是这是C#版本,作为一个入坑的Java爱好者,当然要去试试Java版本了,废话不多说,上代码

/**
 * @author Marblog
 */
public class Main {
    public static void main(String[] args) {
        int[] nums = new int[]{235, 233, 110, 789, 5, 0, 1};
        for (int item : nums) {
            new Thread(() -> {
                try {
                    Thread.sleep(item);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println(item);
            }).start();
        }
 
    }
}

代码很粗略,很多bug。比如

(1) 搞不定负数。

(2)比如输入数据很相近时会有误差

(3)输入数据很多时,这些线程不能看作是同时启动等等...

对于(1),可以用一个在恒正的函数把输入映射成时间;

(2),可以乘个系数,放大数据间的差,但是依然搞不定重复的数据;

(3),试着让算法在多个物理核上真正的并行起来

运行结果

这是一种很神经的算法,没有十年脑血栓想不出来
原理就是开很多线程,线程数量等于你要排序的元素数量,让他们按照原数组顺序输出,过程中让线程睡眠,睡的时长跟元素自身大小对应,所以越大睡的越久

以上就是java睡眠排序算法示例实现的详细内容,更多关于java睡眠排序的资料请关注脚本之家其它相关文章!

相关文章

  • Kotlin 与 Java基本语法对比

    Kotlin 与 Java基本语法对比

    这篇文章主要介绍了Kotlin 与 Java基本语法对比的相关资料,需要的朋友可以参考下
    2017-05-05
  • Maven使用pom.xml引入自定义jar包方式

    Maven使用pom.xml引入自定义jar包方式

    这篇文章主要介绍了Maven使用pom.xml引入自定义jar包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Java中long类型与Long类型的区别和大小比较详解

    Java中long类型与Long类型的区别和大小比较详解

    这篇文章主要给大家介绍了Java中long类型与Long类型区别和大小比较的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • springmvc+mybatis 做分页sql 语句实例代码

    springmvc+mybatis 做分页sql 语句实例代码

    本文通过一段实例代码给大家介绍了springmvc+mybatis 做分页sql 语句的方法,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-07-07
  • Spring整合JPA与Hibernate流程详解

    Spring整合JPA与Hibernate流程详解

    这篇文章主要介绍了Spring整合Hibernate与JPA,在正式进入Hibernate的高级应用之前,需要了解声明是数据模型与领域模型,这两个概念将会帮助我们更好的理解实体对象的关联关系映射
    2023-01-01
  • Java中的事件处理机制详解

    Java中的事件处理机制详解

    这篇文章主要介绍了Java中的事件处理机制详解,Java事件处理是采取"委派事件模型",当事件发生时,产生事件的对象,会把此"信息"传递给"事件的监听者"处理,这里所说的"信息"实际上就是java.awt.event事件类库里某个类创建对象,需要的朋友可以参考下
    2023-09-09
  • 详解Swagger接口文档和常用注解的使用

    详解Swagger接口文档和常用注解的使用

    Swagger是一款遵循 Restful 风格的接口文档开发神器,支持基于 API 自动生成接口文档。本文将为大家讲讲Swagger接口文档和常用注解的使用方法,需要的可以参考一下
    2022-08-08
  • 关于Spring统一异常处理及说明

    关于Spring统一异常处理及说明

    这篇文章主要介绍了关于Spring统一异常处理及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Mybatis实体类属性与数据库不一致解决方案

    Mybatis实体类属性与数据库不一致解决方案

    这篇文章主要介绍了Mybatis实体类属性与数据库不一致解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Java 基础之事务详细介绍

    Java 基础之事务详细介绍

    这篇文章主要介绍了Java 基础之事务详细介绍的相关资料,需要的朋友可以参考下
    2017-03-03

最新评论