一,异步通知
应用程序可以通过sigevent请求异步接收特定Screen事件。
对于多线程应用程序,所有事件处理都可以通过异步通知定向到一个线程。当应用程序的所有事件处理都由一个线程执行时,更容易同步任务并确保某些任务按正确的顺序执行。
在你调用screen_notify()之前,你必须调用screen_register_event()来注册screen_notify()使用的sigevent。
当你不再使用异步通知时,需要禁用通知,然后移除事件注册。我们建议你在禁用使用 你要注销事件的同时,仅在禁用使用该事件的异步通知之后才调用screen_unregister_event()。如果你在仍然启用了该事件的异步通知时移除事件注册, 你可能不会收到任何通知。要禁用异步通知,请将事件参数设置为NULL,或将其类型设置为SIGEV_NONE以禁用已启用的通知。
使用screen_notify()函数启用Screen中特定事件的通知。当你想要禁用通知时,请在你的应用程序中为要禁用的上下文、通知类型和对象句柄再次调用screen_notify()。将事件参数设置为NULL,或在禁用通知的调用中将sigevent类型设置为SIGEV_NONE。
你可以为不同的通知类型或相同的通知类型启用通知,但具有不同的句柄。在下面的示例中,由于指定了不同的对象句柄,因此第二个screen_notify()调用不影响第一个。
screen_notify(screen_ctx, SCREEN_NOTIFY_INPUT, keyboard, &event);
screen_notify(screen_ctx, SCREEN_NOTIFY_INPUT, mouse, &event);
应用程序可以请求在发生以下情况时接收通知:
1.1 内容更新
当你想要接收发生