当前位置: 首页 > 编程笔记 >

go语言睡眠排序算法实例分析

阎卓
2023-03-14
本文向大家介绍go语言睡眠排序算法实例分析,包括了go语言睡眠排序算法实例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了go语言睡眠排序算法。分享给大家供大家参考。具体分析如下:

睡眠排序算法是一个天才程序员发明的,想法很简单,就是针对数组里的不同的数开多个线程,每个线程根据数的大小睡眠,自然睡的时间越长的,数越大,哈哈,搞笑吧,这种算法看起来很荒唐,但实际上很天才,它可以充分利用多核cpu进行计算。

package main

import (

    "fmt"

    "time"

)

func main() {

    tab := []int{1, 3, 0, 5}

 

    ch := make(chan int)

    for _, value := range tab {

        go func(val int){

            time.Sleep( int64(val)*10000000 )

            fmt.Println(val)

            ch <-val

        }(value)

    }

    for _ = range tab {

         <-ch

    }

}

希望本文所述对大家的Go语言程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Go语言排序与接口实例分析,包括了Go语言排序与接口实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言排序与接口用法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Go语言程序设计有所帮助。

  • 主要内容:使用sort.Interface接口进行排序,常见类型的便捷排序,对结构体数据进行排序排序操作和字符串格式化一样是很多程序经常使用的操作。尽管一个最短的快排程序只要 15 行就可以搞定,但是一个健壮的实现需要更多的代码,并且我们不希望每次我们需要的时候都重写或者拷贝这些代码。 幸运的是,sort 包内置的提供了根据一些排序函数来对任何序列排序的功能。它的设计非常独到。在很多语言中,排序算法都是和序列数据类型关联,同时排序函数和具体类型元素关联。 相比之下,Go语言的 sort.So

  • 本文向大家介绍Go语言map字典用法实例分析,包括了Go语言map字典用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言map字典用法。分享给大家供大家参考。具体分析如下: 这段代码生成了青岛、济南、烟台三个城市拼音和汉字的对照字典,根据拼音可以输出汉字 希望本文所述对大家的Go语言程序设计有所帮助。

  • 本文向大家介绍Go语言中的range用法实例分析,包括了Go语言中的range用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言中的range用法。分享给大家供大家参考。具体如下: for 循环的 range 格式可以对 slice 或者 map 进行迭代循环。 可以将值赋值给 _ 来忽略键名和值。 如果只需要索引值,去掉“, value”的部分即可。 希望本文所述对大家

  • 本文向大家介绍go语言简单网络程序实例分析,包括了go语言简单网络程序实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了go语言简单网络程序。分享给大家供大家参考。具体分析如下: 服务端代码如下: 客户端代码如下: 希望本文所述对大家的Go语言程序设计有所帮助。

  • 本文向大家介绍Go语言MessageBox用法实例,包括了Go语言MessageBox用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言MessageBox用法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Go语言程序设计有所帮助。