package main
import (
"log"
"runtime"
"github.com/liberalman/timer_server/timer"
"strconv"
"sync"
)
var lock sync.Mutex
func callback(args interface{}) {
lock.Lock()
if value, ok := args.([]string); ok {
a, _ := strconv.ParseUint(value[0], 0, 10)
timer.SetTimer("callback", uint32(a), callback, args)
lock.Unlock()
log.Println(uint32(a))//此处可以调用其它方法
}
}
func main() {
// cpu多核
runtime.GOMAXPROCS(runtime.NumCPU())
// 定时器1,传入两个参数
timer.SetTimer("callback", 30, callback, []string{"30"})
// 定时器2,传入两个参数
timer.SetTimer("callback", 60, callback, []string{"60"})
// 移除定时器
//timer.Delete(timer.TimerMap["callback2"])
//运行计时器
timer.Run()
}
package main
import (
"log"
"runtime"
"github.com/liberalman/timer_server/timer"
"strconv"
"sync"
)
var lock sync.Mutex
func callback(args interface{}) {
lock.Lock()
if value, ok := args.([]string); ok {
a, _ := strconv.ParseUint(value[0], 0, 10)
timer.SetTimer("callback", uint32(a), callback, args)
lock.Unlock()
}
func main() {
// cpu多核
runtime.GOMAXPROCS(runtime.NumCPU())
// 定时器1,传入两个参数
timer.SetTimer("callback", 30, callback, []string{"30"})
// 定时器2,传入两个参数
timer.SetTimer("callback", 60, callback, []string{"60"})
// 移除定时器
//timer.Delete(timer.TimerMap["callback2"])
//运行计时器
timer.Run()
}