আপনি একটি ফাংশন তৈরি করুন যা আপনি থ্রেডটি কার্যকর করতে চান, যেমন:
void task1(std::string msg)
{
std::cout << "task1 says: " << msg;
}
এখন thread
অবজেক্টটি তৈরি করুন যা শেষ পর্যন্ত উপরের ফাংশনটিকে অনুরোধ করবে:
std::thread t1(task1, "Hello");
( #include <thread>
আপনার std::thread
ক্লাসটি অ্যাক্সেস করতে হবে )
কনস্ট্রাক্টরের আর্গুমেন্টগুলি ফাংশনটি থ্রেডটি কার্যকর করবে এবং ফাংশনের পরামিতিগুলি অনুসরণ করবে। থ্রেডটি স্বয়ংক্রিয়ভাবে নির্মাণের পরে শুরু হয়।
পরে যদি আপনি ফাংশনটি সম্পাদন করে থ্রেডটির জন্য অপেক্ষা করতে চান তবে কল করুন:
t1.join();
(যোগদানের অর্থ হ'ল যে থ্রেডটি নতুন থ্রেডকে আহ্বান করেছিল তার নতুন কার্যকর হওয়ার আগেই এটি শেষ হওয়ার জন্য অপেক্ষা করবে) execution
কোড
#include <string>
#include <iostream>
#include <thread>
using namespace std;
// The function we want to execute on the new thread.
void task1(string msg)
{
cout << "task1 says: " << msg;
}
int main()
{
// Constructs the new thread and runs it. Does not block execution.
thread t1(task1, "Hello");
// Do other things...
// Makes the main thread wait for the new thread to finish execution, therefore blocks its own execution.
t1.join();
}
স্টাডি :: থ্রেড সম্পর্কে আরও তথ্য এখানে
- জিসিসিতে, সংকলন করুন
-std=c++0x -pthread
।
- এটি কোনও অপারেটিং-সিস্টেমের জন্য কাজ করা উচিত, আপনার সংকলকটি (সি ++ 11) বৈশিষ্ট্যটিকে সমর্থন করে granted