Могу ли я написать в boost :: iostreams :: stream из нескольких потоков без синхронизации, если мой приемник поддерживает потоки?
class my_sink : boost::iostreams::sink {
public:
my_sink(param p) {}
std::streamsize write(const char_type *s, std::streamsize n) {
// thread-safe implementation
}
};
boost::iostreams::stream<my_sink> my_stream(parameter);
void thread1() {
my_stream << "some output";
}
void thread2() {
my_stream << "some output";
}
Задача ещё не решена.
Других решений пока нет …