zoukankan      html  css  js  c++  java
  • 多协成利用互斥锁按顺序执行读取文件

    text文本

    1、动态规划比递归快-LeetCode91-解码方法
    2、Linux内存描述之内存节点node--Linux内存管理
    3、笔试题—字符串常见的算法题集锦
    4、机器学习系列(14)_SVM碎碎念part2:SVM中的向量与空间距离
    5、大数运算(7)——大数阶乘(求阶乘)
    6、经典设计模式实战演练
    7、数独求解算法(回溯法和唯一解法)java实现
    8、int和byte之间的转换
    9、matlab读取数据文件
    package main
    import (
        "os"
        "bufio"
        "io"
        "fmt"
        "sync"
        "time"
    )
    
    
    func main()  {
        var wg sync.WaitGroup
        var locker sync.Mutex
        file,_:=os.OpenFile("./src/gocode/jt/test",os.O_RDONLY,666)
        defer  file.Close()
        fw:=bufio.NewReader(file)
    
        for i:=1;i<=2;i++{
            go func(index int) {
                defer  wg.Done()
                for{
                    locker.Lock()
                    str,err:=fw.ReadString('
    ')
                    if err!=nil{
                        if err==io.EOF{
                            locker.Unlock()
                            break
                        }
                        fmt.Println(err)
                    }
                    time.Sleep(time.Millisecond*200)
                    fmt.Printf("【协程%d】:%s",index,str)
                    locker.Unlock()
                }
            }(i)
        }
        wg.Add(2)
        wg.Wait()
        fmt.Println("读取完成")
    
    }

    执行结果:

    【协程2】:1、动态规划比递归快-LeetCode91-解码方法
    【协程2】:2、Linux内存描述之内存节点node--Linux内存管理
    【协程1】:3、笔试题—字符串常见的算法题集锦
    【协程2】:4、机器学习系列(14)_SVM碎碎念part2:SVM中的向量与空间距离
    【协程1】:5、大数运算(7)——大数阶乘(求阶乘)
    【协程2】:6、经典设计模式实战演练
    【协程1】:7、数独求解算法(回溯法和唯一解法)java实现
    【协程2】:8、int和byte之间的转换
    【协程1】:9、matlab读取数据文件
    读取完成

    Process finished with exit code 0

  • 相关阅读:
    用Eclipse做J2Me开发的前期配置
    cglib和asm相关的文章
    bcp命令详解
    Oracle/PLSQL AFTER DELETE Trigger
    Mybatis(九)分页插件PageHelper使用
    Mybatis(八)逆向工程
    Mybatis(四)关联映射
    Mybatis(三)返回值四.注解配置
    Mybatis(二)参数(Parameters)传递
    Mybatis(一)实现单表的增删改查
  • 原文地址:https://www.cnblogs.com/sunlong88/p/11240973.html
Copyright © 2011-2022 走看看