How to create a thread using function objects in C++

1 Answer

0 votes
#include <iostream>
#include <thread>

using std::cout;
using std::endl;

class TestThread
{
public:
	void operator()()
	{
		for (int i = 0; i < 10; i++)
			cout << "operator()()" << endl;
	}
};

int main()
{
	std::thread obj( (TestThread()) );

	for (int i = 0; i < 4; i++)
		cout << "main()" << endl;

	cout << "Waiting For Thread to finish" << endl;

	obj.join();

	cout << "end main()" << endl;

	return 0;
}
/*
run:

operator()()
main()
main()
operator()()
main()
operator()()
main()
operator()()
Waiting For Thread to finish
operator()()
operator()()
operator()()
operator()()
operator()()
operator()()
end main()

*/

 



answered Feb 5, 2018 by avibootz

Related questions

1 answer 256 views
1 answer 183 views
1 answer 214 views
1 answer 205 views
...