10.3.2 事件机制辅助密码破解

10.3.2 事件机制辅助密码破解

为了解决案例10-1中密码找到了,但程序还需要再运行一段时间才能结束的问题,采用事件机制,一个线程找到密码,就通知其他线程结束运行。

改进策略如下。

①创建一个事件机制的对象。

②在密码匹配循环中,添加一个事件判断isSet(),如果isSet()的结果是False,则继续尝试密码匹配。找到密码则用set()方法将Event对象内部的信号标志设为True,由此可通知所有处于等待阻塞状态的线程。

运行结果: