Go教程

Golang的并发编程(1)

本文主要是介绍Golang的并发编程(1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package main

import (
	"fmt"
	"strings"
	"time"
)

type LogProcess struct {
	rc chan string
	wc chan string
	path string
	influxDBDsn string
}

func (l *LogProcess) ReadFromFile()  {
	//读取
	line := "message"
	l.rc <- line

}

func (l *LogProcess) Process() {
	//解析
	data := <-l.rc
	l.wc <- strings.ToUpper(data)
}

func (l *LogProcess) WriteToInfluxDB() {
	//写入
	fmt.Println(<-l.wc)
}


func main()  {
	lp := &LogProcess{
		rc: make(chan string),
		wc: make(chan string),
		path: "/tmp/access.log",
		influxDBDsn: "username&password..",
	}

	go lp.ReadFromFile()
	go lp.Process()
	go lp.WriteToInfluxDB()

	time.Sleep(1*time.Second)
}
这篇关于Golang的并发编程(1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!