欢迎来到深圳外包网(szwbao.com)
当前位置:首页 > 技术学习 > 正文

Golang在后端技术领域的重要性

admin 发布于2024-05-16 12:54:01 技术学习 145 次

Golang在后端技术领域的重要性

package main

import (
    "fmt"
    "time"
)

func worker(id int, jobs <-chan int, results chan<- int) {
    for j := range jobs {
        fmt.Printf("Worker %v start job %v
", id, j)
        time.Sleep(time.Second) // 模拟任务处理消耗时间
        fmt.Printf("Worker %v finish job %v
", id, j)
    // 将任务处理结果发送到results通道
        results <- j * 2
    }
}

func main() {
    numJobs := 5
    numWorkers := 3

    jobs := make(chan int, numJobs)
    results := make(chan int, numJobs)

    // 启动多个worker goroutine
    for w := 1; w <= numWorkers; w++ {
        go worker(w, jobs, results)
    }

    // 提交任务
    for j := 1; j <= numJobs; j++ {
        jobs <- j
    }

    // 关闭jobs通道,等待所有worker处理完任务
    close(jobs)

    // 获取所有任务处理结果
    for a := 1; a <= numJobs; a++ {
        <-results
    }
}
登录后复制

转载请注明来源:Golang在后端技术领域的重要性

本文永久链接地址:http://szwbao.com/post/10773.html

郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。

最新文章
热门文章
网站分类