在我的应用程序中,我将记录一些特殊行来指示一些状态变化,例如
logger.info("Read file abc.txt completed from upstream system");
logger.info("The content of file abc.txt is valid");
logger.info("The content of abc.txt has been saved to db");
然后我监视日志文件,当找到上面的任何一行时,我为它们创建了一个“事件”实例:
class NewFileEvent() {}
class ValidationEvent() {}
class PersistEvent() {}
while(true) {
String nextLine = readNextLineFromLog();
if("Read file abc.txt completed from upstream system".equals(nextLine)) {
return new NewFileEvent();
} else if("The content of file abc.txt is valid".equals(nextLine)) {
return new ValidationEvent();
} else if("The content of abc.txt has been saved to db".equals(nextLine)) {
return new PersistEvent();
}
}
但是当我的朋友查看我的代码时,他说我不应该将其称为“事件”,因为它不是“异步”的。当他看到 nameevent
时,他希望它来自另一个线程,但是在我的代码中,我只是在循环中一个一个地解析它。
我现在很困惑。当我们说某些东西正在event
编程中时,我们是否假设它“异步”?那么没有“同步”事件吗?