首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

到底 go 语言程序设计要不要考虑多线程问题,另求 go 在 windows 创建多线程代码例子

  •  
  •   a7a2 · 2018-07-06 14:47:19 +08:00 · 1263 次点击
    这是一个创建于 443 天前的主题,其中的信息可能已经有所发展或是发生改变。

    到底 go 语言程序设计要不要考虑多线程问题,另求 go 在 windows 创建多线程代码例子。

    因为多线程设计可以少考虑很多问题,让程序设计没有那么复杂,尤其是兼容单 cpu 单核问题上。

    5 回复  |  直到 2018-07-20 09:29:38 +08:00
        1
    gamexg   2018-07-06 15:22:38 +08:00 via Android
    需要考虑,建议看 go 内存模型 。
        2
    jmone   2018-07-07 00:34:25 +08:00
    尼玛,就这水平还定能顶替 2-3 个 php
        3
    a7a2   2018-07-07 01:02:10 +08:00
    @jmone 那你回答一个所以然来。特别是代码例子
        4
    a7a2   2018-07-07 02:05:17 +08:00
    @jmone 那话确实有点夸张,其实我主要意思是我可以一个人做完 2-3 个 php 人的工作,不是说我的效率跟等于 2-3 个 phper
        5
    a7a3   2018-07-20 09:29:38 +08:00
    package main

    import (
    "C"
    "fmt"
    "syscall"
    )

    func ThreadProc(p uintptr) uintptr {
    fmt.Println("hello a7a2")
    return 0
    }

    func main() {
    modkernel32 := syscall.MustLoadDLL("kernel32.dll")
    procCreateThread := modkernel32.MustFindProc("CreateThread")
    r1, _, _ := procCreateThread.Call(0, 0, syscall.NewCallback(ThreadProc), 0, 0, 0)
    h := syscall.Handle(r1)
    syscall.WaitForSingleObject(h, syscall.INFINITE)
    syscall.CloseHandle(h)
    }
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2189 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 07:50 · PVG 15:50 · LAX 00:50 · JFK 03:50
    ♥ Do have faith in what you're doing.