Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

timeticker

timeticker是解决大量使用time.NewTicker会导致负载暴增影响服务器性能的包。 这是根据一个time.NewTicker和多个channel实现的

Sample

sample.go

package main

import (
	"log"
	"time"

	"github.com/sevn1/timeticker"
)

func main() {
    //频次
    TimerRate := time.Millisecond * 400
    //channel数量
    channelNum = 20
	t := timeticker.Init(TimerRate, channelNum)
	for {
		select {
		case <-t.After(TimerRate):
			// code...
			log.Println("ok")
		}
	}
}

log Print

2017/12/17 02:37:30 ok
2017/12/17 02:37:31 ok
2017/12/17 02:37:31 ok
2017/12/17 02:37:31 ok
2017/12/17 02:37:32 ok
2017/12/17 02:37:32 ok
2017/12/17 02:37:33 ok
2017/12/17 02:37:33 ok
2017/12/17 02:37:33 ok
2017/12/17 02:37:33 ok

About

定时器

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages