我想在我的程序(linux C)中构建一个sqlite表:
它有3列/字段:
1 ip/port对,2 FIFO队列指针,3进程id或线程id
我现在不熟悉sqlite,如果我创建一个sqlite表,是可能的:
当一行插入到sqlite表中时,会启动一个一次性超时定时器,如果在超时时间内没有发生预期的事件(当创建行时,第三个字段为空,它等待进程或线程填充第三个字段),则删除该行。超时计时器是一次性的,因此它只在将行插入表后使用一次。
如果有,是否有类似的源代码?谢谢!
数据库是用于持久存储的。使用程序内存作为临时存储,而不是在数据库中添加然后删除。您可以将此过程分为四个步骤:
- 从主线程将待完成的对象放入队列。
- 触发或通知应该填充缺失字段的线程。工作线程将从队列中读取和修改对象,也将在15秒后终止。
- 在主线程中,等待15秒(或等待工作线程完成)。
- 从主线程检查队列中的对象:如果工作线程设法填充了缺失的字段,则将队列中的对象提交到数据库。否则,从队列中丢弃它们。