goroutine

    0热度

    1回答

    我想在Go中尝试打开一个超时的PE文件。为了实现这一点,我使用匿名函数,同时引导文件指针和错误。我使用带有超时情况的select子句来强制超时,如下所示。 go func() { f, e := pe.Open(filePath) file <- f err <- e }() select { case <-fileOpenTimeout: fmt.

    1热度

    2回答

    的代码很简单,如下: package main import ( "fmt" // "sync" "time" ) var count = uint64(0) //var l sync.Mutex func add() { for { // l.Lock() // fmt.Println(

    1热度

    1回答

    我尝试添加必要的代码来像守护进程一样执行我的应用程序。我使用的下一个项目: github.com/sevlyar/go-daemon 我重写,它的完成样品Go代码: https://github.com/sevlyar/go-daemon/blob/master/sample/sample.go package main import ( "bufio" "flag"

    4热度

    1回答

    我正在尝试处理每个请求的上下文超时。我们有以下服务器结构: 流程概述: 围棋服务器:基本上,充当[反向代理]。 2 验证服务器:检查请求验证。 应用服务器:核心请求处理逻辑。 现在,如果授权服务器无法在规定的时间内处理请求,那么我想关闭内存中的goroutine。 这里是我的尝试: ctx, cancel := context.WithTimeout(context.Background(), 5

    1热度

    1回答

    所以目前我在编写“正确的”golang时遇到了一个非常现实的问题。我有一个对象(为了简单起见,我们可以把它看作一个map [string]字符串),我希望它在多个gortuines之间保持“共享”状态。 目前的实施是这样的: //Inside shared_state.go var sharedMap map[string]string = make(map[string]string) v

    1热度

    1回答

    我在这里遇到问题,无法安全退出goroutine。 我在使用exec.Command创建一个外部进程(存储CMD,标准输入管和该方法的标准输出管): exec.Command(args[0], args[1]...) // args[0] is a base command 每当有必要启动过程我打电话: cmd.Start() 然后在启动和附加我跑2个够程: shutdown := mak

    1热度

    1回答

    在下面的代码,我试图写发送到inputs通道的所有文件和发送过operationOutcomes通道 main.go package main import( lr "github.com/fabulousduck/librarian" "fmt" ) func main() { writeOpCount := 100; operationOutco

    -1热度

    1回答

    我收到了URL的标准线,如: $ echo -e'https://golang.org \ nhttps://godoc.org \ nhttps://golang.org'|去运行1.go。 的任务是从每个单词“Go”的WEB页码中获取。但我不允许启动超过5个够程,可以只使用标准库 这里是我的代码: package main import ( "fmt" "ne

    0热度

    1回答

    我在想我的结果顺序应该与输入相同,是否有可能在进行例行公事? 我实现这样的: package main import "fmt" import "time" func worker(id int, jobs <-chan int, results chan<- int) { for j := range jobs { time.Sleep(time.Second)

    -1热度

    1回答

    我有一个够程在运行中的for循环: func main(){ for _, i := range x{ go httpRequests(i, ch) } for i := range ch{ print i } } func httpRequests(i, ch){ for _,