#include<iostream>
#include<thread>
#include<chrono>
struct Timer {
	std::chrono::time_point<std::chrono::steady_clock> start, end;
	std::chrono::duration<float> duration;
	Timer() {
		start = std::chrono::high_resolution_clock::now();
	}
	~Timer() {
		end = std::chrono::high_resolution_clock::now();
		duration = end - start;
		float ms = duration.count() * 1000.0f;
		std::cout << "cost time:" << ms << " ms.";
	}
};
void DoWork() {
	Timer timer;
	for (int i = 0; i < 100; i++) {
		std::cout << "working..." << std::endl;
	}
}
int main() {
	std::thread worker(&DoWork);
	
	worker.join();
	std::cin.get();
}
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
working...
cost time:4.2161 ms.