近期,一名程序员网友发帖晒出了自己写的一段代码,是一段排序代码,根据他的语气,可以看出他对自己写的代码感觉很好,是一段java代码,好家伙!代码中多线程都用上了,还有sleep,这种写法也是没谁了,他吐糟写了这样的排序后老板就让他走人,他还说自己还看不上公司呢,不妨来看看下图他到底写了些什么,惨遭这样的下场,我想看了这个代码后,网友们肯定有很多话要说,我们就看看网友们会说些什么吧!
网友一:牛逼啊 睡觉排序法?
网友二:如果两个数相等,start时间相近,那么唤醒时间先后不确定,这是不稳定的排序
网友三:虎躯一震,这解法之精妙
网友四:有什么问题吗?我面试就是这样写的
网友五:没毛病,这程序写的,鬼斧神工
咱们先来分析一下,构造n个线程,它们和这n个数一一对应。初始化后,线程们开始睡眠,等到对应的数那么多个时间单位后各自醒来,然后输出它对应的数。这样最小的数对应的线程最早醒来,这个数最早被输出。等所有线程都醒来,排序就结束了。能脑洞大开想出此算法的,小编也是大写的服气。
具体这个事例是真是假,我们并不清楚,说实话,看了这样的代码,我一下变得精神起来了,本来还是有点犯困,真是思绪万千,有好多话忍不住要说,首先,这个代码从纯技术角度来说,写的没毛病,语法什么的也都是对的,还用到了多线程等高难度的动作,但是看了这样的架势却是为了一个排序就让人大跌眼镜。
“我自己是一名老程序员,辞职后在线上做讲师,今年我整理了一份适合2019年学习的J a v a编程资料干货,从最基础的面向对象到各种框架都有整理,送给每一位初学和进阶中学习Ja va编程的小伙伴。"
加QQ群:730379855(招募中)
网友评论