KDB 中除 \t & .z.ts 以外的计时器
Timer other than \t & .z.ts in KDB
有没有办法在 KDB 中使用系统计时器 (unix)?
我明白 .z.ts
和 \t
可以分别用来设置定时器功能和定时器频率。但是,总是存在无意中覆盖 .z.ts
的风险。我可以创建一个通用函数,它在内部有一个需要调用的函数列表和它们的定时器频率,但我想探索是否有任何其他方法来完成这个。
您可以阻止无意的 overwrites/inserts/amends/additions 全局变量,例如 .z.ts,by
- reval - http://code.kx.com/wiki/Reference/reval
- read-only 模式 - http://code.kx.com/wiki/Reference/Cmdlineb. Further, more useful examples here - http://code.kx.com/wiki/Contrib/UsingDotz#Slamming_the_Doors
- 或者,尽管更复杂,您可以将查询强制执行到从属线程。客户端将始终被阻止更新全局变量。
您可以使用自己的代码手动执行此操作,甚至可以查看多线程输入模式 - http://code.kx.com/wiki/Cookbook/MultithreadedInputMode。
此模式并非专门为您的用例设计,但如果您需要它及其其他功能,它是一个选项。
你可以使用timerfd和朋友。几年前我写了一个 "tickless" 计时器库,它可以使用 timerfd 实现,但也可以(ab-)使用 .z.ts 来唤醒 "just in time"
有没有办法在 KDB 中使用系统计时器 (unix)?
我明白 .z.ts
和 \t
可以分别用来设置定时器功能和定时器频率。但是,总是存在无意中覆盖 .z.ts
的风险。我可以创建一个通用函数,它在内部有一个需要调用的函数列表和它们的定时器频率,但我想探索是否有任何其他方法来完成这个。
您可以阻止无意的 overwrites/inserts/amends/additions 全局变量,例如 .z.ts,by
- reval - http://code.kx.com/wiki/Reference/reval
- read-only 模式 - http://code.kx.com/wiki/Reference/Cmdlineb. Further, more useful examples here - http://code.kx.com/wiki/Contrib/UsingDotz#Slamming_the_Doors
- 或者,尽管更复杂,您可以将查询强制执行到从属线程。客户端将始终被阻止更新全局变量。 您可以使用自己的代码手动执行此操作,甚至可以查看多线程输入模式 - http://code.kx.com/wiki/Cookbook/MultithreadedInputMode。 此模式并非专门为您的用例设计,但如果您需要它及其其他功能,它是一个选项。
你可以使用timerfd和朋友。几年前我写了一个 "tickless" 计时器库,它可以使用 timerfd 实现,但也可以(ab-)使用 .z.ts 来唤醒 "just in time"