bbqsql运行不了解决方案(原创)

认识kali工具的时候,看到了bbqsql。据说是烤肉barbecue的意思。看图片(icon)也确实像。本着吃货的第一要义,当然先从这里入手。
具体怎么用还不会。但是,点击图标的时候,尴尬的一幕发生了:这里写图片描述
上图报错显示找不到#扣肉#(coros)这个好吃的了。于是从网上找啊找,找啊找,我的×扣肉×在哪里?
遍历gevent所有文件,也没有扣肉。

没图我说个j8

这里写图片描述

这不行,这会儿正饿着肚子呢,我的扣肉,快出来!
于是请教了大神,一个女的大神,我们俩一起研究,最终。。。
这里写图片描述
我们一起研究了什么呢?
这里写图片描述
这里写图片描述
这里写图片描述

以下是我们的灵感:

一、Semaphore对象

1. 基本介绍

        Semaphore 是最古老的同步原语之一,由荷兰计算机科学家 Edsger W. Dijkstra 发明。(他最早使用名为 P() 和 V() 的函数对应 acquire() 和 release())
    Semaphore 在内部管理着一个计数器。调用 acquire() 会使这个计数器 -1,release() 则是+1.计数器的值永远不会小于 0,当计数器到 0 时,再调用 acquire() 就会阻塞,直到其他线程来调用release()
    Semaphore 也支持上下文管理协议

class threading.Semaphore(value=1)

acquire(blocking=True,timeout=None)

    本方法用于获取 Semaphore
    当使用默认参数调用本方法时:如果内部计数器的值大于零,将之减一,并返回;如果等于零,则阻塞,并等待其他线程调用 release() 方法以使计数器为正。这个过程有严格的互锁机制控制,以保证如果有多条线程正在等待解锁,release() 调用只会唤醒其中一条线程。唤醒哪一条是随机的。本方法返回 True,或无限阻塞
    如果 blocking=False,则不阻塞,但若获取失败的话,返回 False
    当设定了 timeout 参数时,最多阻塞 timeout 秒,如果超时,返回 False

对头,

将扣肉那一行注释,重新导入threading 的就好了。
折腾了一上午,改了两行代码,终于又能愉快的一起吃烤肉了

只需要改两行代码就能完成的工作,被我哇啦哇啦比比了大半天,是不是心里很不爽呢?没事的,就喜欢你看不惯我又打不到我样子~
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值