I want to share a tensorflow FIFOQueue using the C++ API where a producer and consumer are running asynchronously (as very briefly discussed here in a python context: TensorFlow C++, runtime issue). I have the impression that I need to use DirectSession and its thread pooling support (as discussed here: Changing the number of threads in TensorFlow on Cifar10). So the direct_session_test.cc file with the examples using BlockingOp and BlockingOpState look like they might be a good template.
But direct_session.h marks important methods as experimental (especially .Run()) so any tips and advice on proceeding would be welcome.
Note that DirectSession has very little documentation including the header direct_session.h. Some of the differences between tensorflow's other C++ Session classes (e.g. Session, ClientSession Interactive) are discussed elsewhere:
This thread compares Session and ClientSession: Difference between ClientSession and Session in TensorFlow C++ API
This thread compares Session and InteractiveSession: difference between tf.Session() and tf.InteractiveSession()?