java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应?相关的知识,希望对你有一定的参考价值。

如题

线程a是作为事件源,那么线程a这个类就必须提供一个可以增加监听器的方法,就像GUI编程中的addActionListener这个样的方法。线程a这个类里面是有一个专门存放监听器的一个容器,例如是list。然后你 增加监听器的方法就是把监听器放进这个容器里面。你用一个监听器去监听一个事件的发生,就可以在线程a这个类中,写一个产生事件的一段代码,然后每当产生一个事件之后,去遍历list,去调用监听器的对于这个事件的处理方法,这样子就可以了。这应该就是java中的事件模式。 参考技术A 思路,在线程b的操作中调用a.wait(),线程a中触发的事件后面添加notify(),则在b执行到a.wait()的时候,b等待a,a执行到notify(),通知a的等待列表中的b线程进入锁池,此时b有机会继续执行,这样就打到了线程b监听a执行完事件

如何在自定义元素或按钮小部件上触发事件?

我有一个需要为Elementor创建自定义小部件的要求。当我单击“按钮”时,此小部件上将有两个文本字段和一个按钮。我必须触发一个事件。

但是,当我尝试使用此代码创建按钮时,HTML页面上没有任何按钮ID。

          'submit_content',
          [
            //'label' => __( 'Submit Content', 'plugin-name' ),
            'type' => ElementorControls_Manager::BUTTON,
            'separator' => 'before',
            'button_type' => 'success',
            'text' => __( 'Submit Product', 'plugin-domain' ),
            'event' => 'namespace:editor:submit',
          ]
        );

有什么办法,我可以使用此按钮创建任何ID吗?还是我可以在javascript或PHP端的click事件上使用此按钮的任何方式?

答案
jQuery(window).on("elementor/frontend/init", function() {
    elementor.channels.editor.on('namespace:editor:submit', function() {
        console.log('Try this!');
    });
});

以上是关于java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应?的主要内容,如果未能解决你的问题,请参考以下文章

页面按钮如何触发声音事件?

百度地图如何监听自定义绘制的直线图层的点击事件

自定义事件的触发dispatchEvent

如何从视图中触发事件(自定义事件)并在 Ext JS 的控制器中处理它们?

跨webview触发自定义事件

Leap motion中,手指悬停在一个地方几秒钟,怎么触发事件?