Apply .gitignore rules
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
由于Go不提供超时锁,所以自己实现了支持超时机制的互斥锁Locker和读写锁RWLocker。
|
||||
为了方便供第三方程序使用,提供了根据Key获取超时互斥锁和超时读写锁的复合对象LockerUtil和RWLockerUtil。
|
||||
为了在出现锁超时时方便查找问题,会记录上次成功获得锁时的堆栈信息;并且在本次获取锁失败时,同时返回上次成功时的堆栈信息和本次的堆栈信息。
|
||||
*/
|
||||
package syncUtil
|
||||
|
||||
const (
|
||||
// 默认超时的毫秒数(1小时)
|
||||
con_Default_Timeout_Milliseconds = 60 * 60 * 1000
|
||||
|
||||
// 写锁保护时间(纳秒)
|
||||
con_Write_Protect_Nanoseconds = 5 * 1000 * 1000
|
||||
)
|
||||
|
||||
var (
|
||||
// 是否记录堆栈信息的状态
|
||||
if_record_stack_info = false
|
||||
)
|
||||
|
||||
// 获取超时时间
|
||||
func getTimeout(timeout int) int {
|
||||
if timeout > 0 {
|
||||
return timeout
|
||||
} else {
|
||||
return con_Default_Timeout_Milliseconds
|
||||
}
|
||||
}
|
||||
|
||||
// 设置是否记录堆栈信息的状态
|
||||
func SetIfRecordStackInfo(value bool) {
|
||||
if_record_stack_info = value
|
||||
}
|
||||
Reference in New Issue
Block a user