]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/thread/example/not_interleaved2.cpp
1 // (C) Copyright 2012 Howard Hinnant
2 // (C) Copyright 2012 Vicente Botet
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 // adapted from the example given by Howard Hinnant in
9 #define BOOST_THREAD_VERSION 4
12 #include <boost/thread/scoped_thread.hpp>
13 #include <boost/thread/ostream_buffer.hpp>
17 using namespace boost
;
18 chrono::steady_clock::time_point tf
= chrono::steady_clock::now() + chrono::seconds(5);
20 while (chrono::steady_clock::now() < tf
)
22 ostream_buffer
<std::ostream
> mcerr(std::cerr
);
23 mcerr
.stream() << "logging data to cerr " << i
++ << "\n";
24 this_thread::sleep_for(chrono::milliseconds(250));
30 using namespace boost
;
31 chrono::steady_clock::time_point tf
= chrono::steady_clock::now() + chrono::seconds(5);
33 while (chrono::steady_clock::now() < tf
)
35 ostream_buffer
<std::ostream
> mcout(std::cout
);
36 mcout
.stream() << "logging data to cout " << i
++ << "\n";
37 this_thread::sleep_for(chrono::milliseconds(500));
43 using namespace boost
;
45 scoped_thread
<> t1(&use_cerr
);
46 scoped_thread
<> t2(&use_cout
);
47 this_thread::sleep_for(chrono::seconds(2));
48 std::string nm
= "he, he\n";
50 ostream_buffer
<std::ostream
> mcout(std::cout
);
51 mcout
.stream() << "Enter name: \n";
56 ostream_buffer
<std::ostream
> mcout(std::cout
);