1
wulin 2014-03-05 11:38:52 +08:00
用chan通信,参考http://www.tuicool.com/articles/nYZnIn
|
2
horsley 2014-03-05 14:07:47 +08:00
一个定义在f之外的全局变量就可以了,其实也是你2的flag
|
3
Kabie 2014-03-05 16:50:03 +08:00
...一般会给 input 和 output 两个 channel 吧…………go程找到值就用 output 传回去……
在主循环里面用一个 for 死循环 select ……从 output 里面读到值就关闭 input …… |
5
intosec OP @pubby 是这种情况啊,现在变换了个思路,只要其中一个f()找到正确的口令,就立刻快速从chan中读完所有剩余的口令,这样其他几个f()取不到口令就自动退出了。但是这样做还是会有误差,暂时先这么搞了。
|
6
pubby 2014-03-06 11:03:07 +08:00
@intosec 不是非常熟悉golang,就我所知goroutine的销毁只有从内部结束,看你f()里面怎么设计了,如果长时间处于运算中,而不做检测判断的话可能白白浪费计算资源。做个评估权衡一下好了,比如每查找1000次做一次检测看是否有其他f()已经完成。
|
7
intosec OP 不知道是我用的模型不对还是其他什么原因,我发现用golang写的扫描器的命中率比c#的低好多,经常超时。
|