Golang中国

cqheshuang

Golang China 第 3381 号会员,加入于 2015-04-24 14:24


cqheshuang最近创建的主题


8 第一次写线程池,遇到一个不能完全正常输出的问题
问与答cqheshuang • 2017-02-06 17:48 • 最后回复来自 1934C
7 -
问与答cqheshuang • 2015-05-13 09:28 • 最后回复来自 cqheshuang
9 --
Web开发cqheshuang • 2015-04-29 10:30 • 最后回复来自 jimmykuu
cqheshuang 创建的更多主题

cqheshuang最近回复了


回复了 cqheshuang 创建的主题: 第一次写线程池,遇到一个不能完全正常输出的问题 2016-12-12 17:41

@Gkond 不难发现,我写的执行timeout是有问题,其实给你说的单独chan还不能解决,因为最主要的还是timeout问题,为什么呢?
比如这里开了5个goroutine,但是很有可能每个处理的任务数量是不同的,有些可能多,有些可能少,这样数量少的就会去设置timout,但是其它的并没有执行完,然后也去执行了timeout, 这样可能就会出现问题.
看了网上的实例,使用sync.group和wait去等待处理完成.
具体现在没有去测试,只是我现在发现有可能是这个问题,没时间,最近工作忙

回复了 cqheshuang 创建的主题: 第一次写线程池,遇到一个不能完全正常输出的问题 2016-12-12 15:46

@Gkond 线程池分配的时候,最好为每个线程建立一个单独chan,这样最后输出的时候,分别select这几个chan结果

回复了 cqheshuang 创建的主题: - 2015-05-13 09:28

我是觉得开发网站不太适合GO, 没说不能用GO来开发, 只是个人觉得真的有点装了. 
GO其实比较底层一点. 如果要开发WEB也是GO在一些性能瓶劲的地方或是性能比较差的地方.
比如业务逻辑, 数据层
我用之前也用RPC的测试了, 速度真心快不了多少.

回复了 cqheshuang 创建的主题: - 2015-05-12 17:25

我说的服务是后端的, 不是前端

回复了 cqheshuang 创建的主题: -- 2015-04-29 10:00

@jimmykuu @kalaqin 我昨天,又看了下GO的JSON包,才发现原来不支持INT。 郁闷

回复了 cqheshuang 创建的主题: -- 2015-04-28 10:38

自己解决了

回复了 cqheshuang 创建的主题: -- 2015-04-28 09:42

哪位大神解答下啊

回复了 cqheshuang 创建的主题: -- 2015-04-27 17:13

@jimmykuu 我是用的hprose, 我如果用json.Marshal转化后,数据就没了。 打印出来是: []

server.go:

func RecvAction(aid int) []byte {
    // 建立数据库连接<br/>
    db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/go?charset=utf8")
    if err != nil {
        fmt.Printf("Open database err: %v", err)
    }
    defer db.Close()

    rows, err := db.Query("select id,sex from go_admin where id=?", aid)
    if err != nil {
        fmt.Printf("Query Error: %v", err)
    }
    defer rows.Close()

    var id int
    var sex int
    lists := make(map[int]string)
    for rows.Next() {
        err := rows.Scan(&id, &sex)
        if err != nil {
            fmt.Println("Rows scan error: ", err)
        }

        lists[id] = "测试"
    }
    jsonList, _ := json.Marshal(lists)
    return jsonList

client.php:

$admin = $client->RecvAction(1);<br/>
$decode = json_decode($admin);

错误提示:

Fatal error: Uncaught exception 'Exception' with message 'json: unsupported type: map[int]int' in /opt/lampp/htdocs/go/hprose/Hprose/Client.php:161 Stack trace: #0 /opt/lampp/htdocs/go/hprose/Hprose/Client.php(181): Hprose\Client->doInput('Es35"json: unsu...', Array, 0, Object(stdClass)) #1 /opt/lampp/htdocs/go/hprose/Hprose/Client.php(40): Hprose\Client->invoke('RecvAction', Array) #2 /opt/lampp/htdocs/go/index.php(8): Hprose\Proxy->__call('RecvAction', Array) #3 /opt/lampp/htdocs/go/index.php(8): Hprose\Http\Client->RecvAction(1) #4 {main} thrown in /opt/lampp/htdocs/go/hprose/Hprose/Client.php on line 161
cqheshuang 创建的更多回复