Всем привет, я использую QT Creator в качестве иде и вот исходники проекта:
про файл:
TEMPLATE = app
CONFIG += console
CONFIG -= qt
LIBS += -lpthread
SOURCES += main.cpp
мейн файл:
#include <iostream>
#include <pthread.h>
int d=0;
using namespace std;
void* task1(void* X)
{
int OldState, OldType;
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &OldState);
pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &OldType);
for(int Count=1; Count<100; Count++)
{
d++;
cout << "В потоке А: " << Count << '\n';
}
pthread_testcancel();
}
int main()
{
pthread_t Threads;
void* Status;
pthread_create(&(Threads), NULL, task1, NULL);
pthread_cancel(Threads);
pthread_join(Threads, &Status);
if(Status==PTHREAD_CANCELED)
{
cout << "Поток " << " аннулирован" << endl;
}
else
{
cout << "Поток " << " продолжает выполнение" << endl;
}
cout << "d: " << d << endl;
return 0;
}