1 2 // lw_thread_test.cpp 3 // 4 // Copyright 2018 Peter Dimov 5 // Distributed under the Boost Software License, Version 1.0. 6 7 #include <boost/detail/lightweight_thread.hpp> 8 #include <boost/core/lightweight_test.hpp> 9 #include <boost/smart_ptr/detail/atomic_count.hpp> 10 11 boost::detail::atomic_count count( 0 ); 12 f()13void f() 14 { 15 ++count; 16 } 17 main()18int main() 19 { 20 int const N = 4; 21 boost::detail::lw_thread_t th[ N ] = {}; 22 23 for( int i = 0; i < N; ++i ) 24 { 25 boost::detail::lw_thread_create( th[ i ], f ); 26 } 27 28 for( int i = 0; i < N; ++i ) 29 { 30 boost::detail::lw_thread_join( th[ i ] ); 31 } 32 33 BOOST_TEST_EQ( count, N ); 34 35 return boost::report_errors(); 36 } 37