您将如何实现一个侦听器,该侦听器将在多线程环境中线程执行结束时执行的事件排队?期望的行为是每个线程都有自己的事件队列,这样它们就不会混淆并被原子执行。所以如果线程 A 调用 listener.execute() 那么只有“他的”事件被执行。
我能想到的唯一方法是使用 ThreadLocal 变量,但如果我考虑到这里的复杂性,我宁愿不使用任何变量。
假设您有一棵树,并且您想删除 x 个节点,那么您不想在每个“刷新”事件之后执行刷新 x 次,但您最好将它们排入队列并在最后执行……这样可以节省 x -1 刷新:-)