1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package sync
- import (
- "sync"
- )
- type StatusTable struct {
- sync.RWMutex
- pool map[string]bool
- }
- func NewStatusTable() *StatusTable {
- return &StatusTable{
- pool: make(map[string]bool),
- }
- }
- func (p *StatusTable) Start(name string) {
- p.Lock()
- defer p.Unlock()
- p.pool[name] = true
- }
- func (p *StatusTable) Stop(name string) {
- p.Lock()
- defer p.Unlock()
- p.pool[name] = false
- }
- func (p *StatusTable) IsRunning(name string) bool {
- p.RLock()
- defer p.RUnlock()
- return p.pool[name]
- }
|