hotime/example/main.go

112 lines
2.7 KiB
Go
Raw Normal View History

2017-08-17 02:37:00 +00:00
package main
import (
2017-09-05 02:40:37 +00:00
2017-08-23 01:40:54 +00:00
_ "github.com/go-sql-driver/mysql"
2017-08-17 02:37:00 +00:00
"go.hoteas.com/hotime"
2017-09-05 02:40:37 +00:00
"time"
2017-09-05 02:55:14 +00:00
//"fmt"
2017-08-17 02:37:00 +00:00
)
func main() {
2017-09-05 02:40:37 +00:00
a:=hotime.Map{}
2017-09-05 02:55:14 +00:00
a.Put("x",1)
for i:=0;i<30 ;i++ {
2017-09-05 02:40:37 +00:00
go func() {
for j:=0;j<30 ;j++ {
if j/2==0{
2017-09-05 02:55:14 +00:00
hotime.SafeMutex("test", func() interface{} {
a.Put("x","1")
return nil
})
}else {
//fmt.Println(a.GetInt64("x"))
a.Delete("x")
2017-09-05 02:40:37 +00:00
}
2017-08-17 02:37:00 +00:00
2017-09-05 02:40:37 +00:00
}
}()
2017-08-17 02:37:00 +00:00
2017-09-05 02:40:37 +00:00
}
time.Sleep(time.Second*5)
//appIns := hotime.Application{}
//i := 0
//
//appIns.SetConnectListener(func(context *hotime.Context) bool {
// fmt.Println(i)
// i++
// //this.HandlerStr = "/test.html"
// return true
//})
//
////手动模式,
//appIns.SetConfig()
//appIns.SetConnectDB(func(err ...*hotime.Error) *sql.DB {
2017-08-17 02:37:00 +00:00
// query := appIns.Config.GetString("dbUser") + ":" + appIns.Config.GetString("dbPwd") +
// "@tcp(" + appIns.Config.GetString("dbHost") + ":" + appIns.Config.GetString("dbPort") + ")/" + appIns.Config.GetString("dbName") + "?charset=utf8"
// DB, e := sql.Open("mysql", query)
// if e != nil && len(err) != 0 {
// err[0].SetError(e)
// }
// return DB
//})
2017-09-05 02:40:37 +00:00
//appIns.SetSession(hotime.CacheIns(&hotime.CacheMemory{}), hotime.CacheIns(&hotime.CacheDb{Db: &appIns.Db, Time: appIns.Config.GetInt64("cacheTime")}))
//appIns.SetCache(hotime.CacheIns(&hotime.CacheMemory{}))
//
////快捷模式
////appIns.SetDefault(func(err ...*hotime.Error) *sql.DB {
//// query := appIns.Config.GetString("dbUser") + ":" + appIns.Config.GetString("dbPwd") +
//// "@tcp(" + appIns.Config.GetString("dbHost") + ":" + appIns.Config.GetString("dbPort") + ")/" + appIns.Config.GetString("dbName") + "?charset=utf8"
//// DB, e := sql.Open("mysql", query)
//// if e != nil && len(err) != 0 {
//// err[0].SetError(e)
//// }
//// return DB
////})
//
//appIns.Run(hotime.Router{
// "app": hotime.Proj{
// "index": hotime.Ctr{
// "test": func(this *hotime.Context) {
// fmt.Println(this.Db.GetTag())
// x:=this.Db.Action(func(db hotime.HoTimeDB) bool {
//
// db.Insert("user",hotime.Map{"unickname":"dasdas"})
//
// return true
// })
// this.Display(5, x)
// },
// "websocket": func(this *hotime.Context) {
// hdler := websocket.Handler(func(ws *websocket.Conn) {
// for true {
// msg := make([]byte, 5120)
// n, err := ws.Read(msg)
//
// if err != nil {
// return
// }
// fmt.Printf("Receive: %s\n", msg[:n])
//
// send_msg := "[" + string(msg[:n]) + "]"
// m, err := ws.Write([]byte(send_msg))
// if err != nil {
// return
// }
// fmt.Printf("Send: %s\n", msg[:m])
// }
// })
// hdler.ServeHTTP(this.Resp, this.Req)
// },
// },
// },
//})
2017-08-17 02:37:00 +00:00
}