a7a2
V2EX  ›  问与答

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

  •  
  •   a7a2 · Jul 6, 2018 · 2597 views
    This topic created in 2872 days ago, the information mentioned may be changed or developed.

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

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

    5 replies    2018-07-20 09:29:38 +08:00
    gamexg
        1
    gamexg  
       Jul 6, 2018 via Android
    需要考虑,建议看 go 内存模型 。
    jmone
        2
    jmone  
       Jul 7, 2018
    尼玛,就这水平还定能顶替 2-3 个 php
    a7a2
        3
    a7a2  
    OP
       Jul 7, 2018
    @jmone 那你回答一个所以然来。特别是代码例子
    a7a2
        4
    a7a2  
    OP
       Jul 7, 2018
    @jmone 那话确实有点夸张,其实我主要意思是我可以一个人做完 2-3 个 php 人的工作,不是说我的效率跟等于 2-3 个 phper
    a7a3
        5
    a7a3  
       Jul 20, 2018
    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)
    }
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3194 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:53 · PVG 21:53 · LAX 06:53 · JFK 09:53
    ♥ Do have faith in what you're doing.