rendered paste body
typedef mt::pool<CvImage *>
pool_t;
pool_t pool(100);
mt::triple_buffer <pool_t> tb;
mt::circular_buffer<pool_t> cb;
...........
writer:
...........
while (1) {
pool_t::item it = pool.get();
CvGrab(it.data());
tb.push(it);
cb.push(it);
pool.release(it);
}
...........
reader1:
...........
while (1) {
// triple
pool_t::item it = tb.pop();
draw(it.data());
}
...........
reader2:
...........
while (1) {
// circular
pool_t::item it = cb.pop();
obj = find_object(it.data());
fprintf(file, "%d %d\n", obj.x, obj.y);
}