uml
2021-02-23 15:14:08 1 举报
UML类图多线程
作者其他创作
大纲/内容
Main
- HTTP- Config- reqDataQueue: * queue
- StartWorkers(): bool #启动服务子线程- Process():bool #处理每次请求
MinuteDataManager
- minuteDataMap:*map[string]*MinuteData- mutexMap:*map[string]mutex- AllMutexLockFlag: bool
+ LockMinuteData(string): bool+ UnlockMinuteData(string): void+ GetMinuteData(string): *MinuteData+ NewMinuteDataMap(): void+ LockAllMinuteData(): void+ UnlockAllMinuteData(): void
MinuteWorker
- threadPool:threadPool- dataManager:*MinuterDataManager- reqDataQueue: * queue
+ CalMinuteData(ReqData)
Thread
+ run
Timer
- clocker
统计线程
MinuteData
args_hash # 标识uri args req_count #频率 次数first_req_time # 请求成功耗时计算,开始时间last_req_time # 最新请求时间first_rsp_time # 请求成功耗时,结束时间rsp_count # 响应次数rsp[] RspStruct #响应状态http_err_count # http错误统计(是否是针对整个接口而言的)
队列
ThreadPool
- threads:[]Thread
子线程1
ComWorker
- comQueue:*queue[MinuteDataMap]- sql: SQL- warringConfig: WarringConfig- comQueue:*queue[MinuteDataMap]
- ReadFormSQL(MinuteDataMap): MinuteDataMap+ WritToSQL(MinuteDataMap)+ CalData(MinuteDataMap)+ WarringKMC(MinuteDataMap)+ ReloadWarringConfig()
RspStruct
status #响应状态err_code #响应错误码rsp_time #响应耗时
主线程
子线程3
子线程2
TimerWorker
- timer:Timer- dataManager:*MinuterDataManager- comQueue:*queue[MinuteDataMap]
+ GenerateNewMinuterDataMap()
0 条评论
下一页