Я хочу добавить функцию в свой проект.Остановить функции через 5 минут, если они не закончатся
У меня есть 2 функции, выполняющиеся в цикле for, потому что я хочу найти решение функций в случайных массивах. У меня также есть функция, которая делает случайные массивы. В каждом цикле массив, созданный random_array fun, является входом двух функций. 2 функции печатные решения на экране, они не возвращают аргумент.
int main(){
for (i=0;i<50 i++)
{
arr1=ramdom_array();
func1(arr1)
func2(arr1)
}
}
Мне нужно прекратить выполнение функций, если они не закончились через 5 минут. я подумал, что я должен поставить в функции что-то вроде этого:
void func1(array<array<int,4>,4> initial)
{
while (5minutes_not_passed)
{
//do staff
if(solution==true)
break;
}
}
Но я не знаю, что положить в 5minutes_not_passed.
объявление функций, как это:
void func1(array<array<int,4>,4> initial)
void func2(array<array<int,4>,4> initial)
Я обнаружил, что я могу использовать библиотеку потока, но я не думаю, что в зацеплении с резьбой в хорошей идеей. Я считаю, что нужно что-то вроде таймера. Обратите внимание, что функции иногда могут заканчиваться до 5 минут.
C++ 11 имеет '', C++ 03 имеет ''. В зависимости от того, много ли вы используете таймеры, я нашел использование '', чтобы сделать пару классов таймера очень приятной деятельностью. Они работают удивительно хорошо. –
chris