endl;
HeapUnlock (hp);// відміна блокування купи для інших потоковtrue;
}
// ---------------------------------------- -----------------------------------
// MAIN.CPP - тіла головного і другорядних потоків
// ---------------------------------------- -----------------------------------
# include // підключення бібліотек
# include
# include
# include
# include
# include
# include "header.h"
# include
# include
# include
# include
# include
# include
# include
# include namespace std;
int c = 0;// лічильник завершилися потоків
ThreadAdd (void * p)// потік додавання вузлів
{counter = 1; * pp = new Params ();
pp = (Params *) p; (counter <10)// додавання у вказаний в параметрах список
елементів від 0 до 9
{(pp-> pq, pp-> hp, counter);
counter + +;
} + +;// інкремент лічильника завершилися процесів
_endthread ();
}
ThreadErase (void * p)// потік видалення елементів
{counter = 1; * pp = new Params ();
pp = (Params *) p; (counter <10)// видалення вузла із зазначеного в параметрах списку
зі значеннями від 0 до 9
{(pp-> pq, pp-> hp, counter);
counter + +;
} + +;// інкремент лічильника завершилися процесів
_endthread ();
}
ThreadChange (void * p)// потік зміни елементів
{counter = 1; * pp = new Params ();
pp = (Params *) p; (counter <10)// зміна вузла зазначеного в параметрах списку зі
значеннями від 0 до 9 шляхом додавання до них 1000
{(pp-> pq, pp-> hp, counter, counter +1000);
counter + +;
} + +;// інкремент лічильника завершилися процесів
_endthread ();
}
ThreadPrint (void * p)// потік виводу списку на екран
{counter = 0; * pp = new Params ();
pp = (Params *) ...