가능한 중복 :
이
c++ multithreadC++ 멀티 스레드
내가 스레드를 구현하기 위해 C++를 사용합니다. 코드는 다음과 같습니다. 두 개의 객체를 초기화합니다. 두 개의 객체를 시작합니다 (스레드 ID를보기 위해 pthread_self()를 사용합니다). 그러나 결과는 주 스레드 옆에 스레드가 하나만 있음을 보여줍니다. 당신이 그 (것)들을 부르게 즉시 후 각각의 스레드에 가입하기 때문에 나는 조금 혼란 스러워요 ...
class Thread {
public:
int mask;
pthread_t thread;
Thread(int);
void start();
static void * EntryPoint (void *);
void Run();
};
Thread::Thread(int a) {
mask =a;
}
void Thread::Run() {
cout<<"thread begin to run" <<endl;
cout <<" Thread Id is: "<< pthread_self() << endl; // the same thread Id.
}
void * Thread::EntryPoint(void * pthis) {
cout << "entry" <<endl;
Thread *pt = (Thread *) pthis;
pt->Run();
}
void Thread::start() {
pthread_create(&thread, NULL, EntryPoint, (void *)ThreadId);
pthread_join(thread, NULL);
}
int main() {
int input_array[8]={3,1,2,5,6,8,7,4};
Thread t1(1);
Thread t2(2);
t1.start();
t2.start()
}