码迷,mamicode.com
首页 > 其他好文 > 详细

on the go way (一)服务器并发

时间:2016-03-21 11:55:37      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

服务器并发的方式有很多种

1.通过多进程或者多线程的方式,现在这种模式基本上已经不用

2.epoll和IOCP回调的方式,不符合人们的习惯

3.使用协程(轻量级线程,创建、销毁的代价很小),协程在逻辑上上顺序执行

其中属于erlang和golang在协程并发方面做的比较好

package main

import (
    "fmt"
)

func getResult(data []int, res chan int) {
    var sum int
    sum = 0
    for _, v := range data {
        sum += v
    }
    res <- sum
}

func main() {

    var res = make(chan int)
    var data = []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    go getResult(data[:5], res)
    go getResult(data[5:], res)
    sum := <-res
    sum += <-res
    fmt.Println("the answer result is ", sum)
    close(res)
}

 

on the go way (一)服务器并发

标签:

原文地址:http://www.cnblogs.com/OneDream/p/5301235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!