Go语言中文网 为您找到相关结果 11

go语言生产者,消费者事例

package main import "fmt" import "time" func main() { // ch := make(chan int, 10) ch := make(chan int) go produce("生产者1",ch) go produce("生产者2",ch) time.Sleep(1 * time.Second) go use(ch) time.Sleep(101 * time.Second) } func produce(pname string,ch chan int) { for i:= 0;i < 20;i++ { fmt.Println("produce", pname ," : ", i) ch <- i // 这里需要在打印语句之后,否者可能产...阅读全文

博文 2014-10-23 18:00:00 eclipser1987

从硬件产品的4种境界,看你的级别

最近两年产品经理岗位异常受欢迎,没技术的想做产品经理、有技术的也想转行做产品经理,甚至一线明星邓超也要做产品经理了。现在的产品经理岗位已经变成人人都可做的岗位了? 其实不然,产品经理岗位是一个对综合能力要求特别高的岗位,特别是硬件产品经理。今天在网上看到一个硬件产品经理的4种境界,感觉总结得特别到位,分享出来,供想从事或已经从事硬件产品经理岗位的童鞋参考,对比自己处于什么境界。 境界一:懂产品不懂技术 产品经理首选需要具备的就是要有“眼光”和“直觉”,不懂技术可以,但必须要懂市场。如果只有技术不懂市场,那你不应该是产品经理,而是研发人员。 这个阶段的产品经理已经过了懵懂期,有了一些小自信,尝到了一些小甜头,应该开始研究用户需求、消费潮流、行业趋势、同行竞争、 竞品分析...阅读全文

golang中使用kafka

golang中比较好用的kafka client有 sarama confluent-kafka-go go_kafka_client optiopay-kafka siesta 其中 sarama的使用者应该是最多的, 然后还有一个sarama的cluster版本sarama-cluster 本文简单描述下sarama的一些简单使用 生产者接口 func producer_test() { fmt.Printf("producer_test\n") config := sarama.NewConfig() config.Producer.RequiredAcks = sarama.WaitForAll config.Producer.Partitioner = sarama.NewRand...阅读全文

博文 2018-09-29 18:34:37 yandaren

Golang实现生产者和消费者

packagemainimport("fmt""sync")//实现一个生产者和消费者/*生产者产生数据添加到通道里面,消费者消费数据从通道里面不带缓存实现*/funcmain(){ch:=make(chanint)varwgsync.WaitGroupwg.Add(2)goproducers(&wg,ch)goconsumer(&wg,ch)wg.Wait()}//生产者funcproducers(wg*sync.WaitGroup,chchanint){fori:=0;i<10;i++{fmt.Println("send:",i)ch<-i}close(ch)wg.Done()}//消费者funcconsumer(wg*sync.WaitGroup,chchanint){forv:=ra...阅读全文

博文 2017-11-01 08:04:42 dncmn

golang 生产者消费者模型

package main import ( "fmt" "time" ) // 生产者 func producer(channel chan int){ for i:=0;i<100;i++{ fmt.Println("老怪创造了小怪", i) time.Sleep(time.Second) channel <- i } // 关闭通道 close(channel) } // 消费者 func consumer(name string, channel chan int, done chan bool){ for{ val, ok := <-channel if ok { fmt.Println(name, "消灭了怪物", val) }else{ fmt.Println("消灭了所有怪物!...阅读全文

博文 2019-12-14 19:32:40 就超棒

golang工程师面试第四天

**1**.商场里有n类产品,从高到低按价格排序,若价格相同则按生产日期排序,价格保留小数点后两位 ```go package main import ( "fmt" ) type Shop struct { Price float32 Date string } func main() { shops := []Shop{{1, "222"}, {7, "222"}, {3, "222"}, {4, "222"}, {5, "2018/1/21"}, {5, "2018/1/20"},{5, "2018/1/16"},{5, "2018/1/19"}} num :=len(shops) //先按价格用冒泡排序将商品从低到高排列好,若价格相同则判断日期,按由早到晚排序 for i:=0;i<...阅读全文

博文 2018-01-16 19:46:13 yinshidaoshi

golang-nsq消息队列应用

消息队列由生产者和消费者共同协作,生产者产生消息放入队列中,消费者从队列中取出消息。 1.消费者 type Producer struct { id int64 addr string conn producerConn config Config logger logger logLvl LogLevel logGuard sync.RWMutex responseChan chan []byte errorChan chan []byte closeChan chan int transactionChan chan *ProducerTransaction transactions []*ProducerTransaction state int32 concurrentProduce...阅读全文

博文 2017-10-09 01:30:01 fwdqxl

kafka压测工具

简单说明: 最近,正在学习golang,碰巧需要对 kafka 进行压测。于是写了一个简单的小工具。目前是 macos 版本的,如果需要其他版本请通过邮箱或者私聊我。 使用说明: 将文件下载到本地 下载地址 直接通过./命令调用 经测我本地每秒生产量在1W 左右。 producer-pic.pn...阅读全文

博文 2018-08-31 19:34:48 云逸_Java

新手练习-消费者生产者模型

``` package main import ( "fmt" "math/rand" "sync" ) func main() { c := sync.NewCond(&sync.Mutex{}) queueList := make(chan int, 10) //producer go func() { for { c.L.Lock() if len(queueList) == 5 { c.Wait() } num := rand.Intn(100) fmt.Println("Producer:", num) queueList <- num if len(queueList) == 5 { c.Signal() } c.L.Unlock() } }() //consumer go fu...阅读全文

博文 2018-12-29 10:36:07 liuzhang