Следующая функция создается в потоке поддержки.В консольном приложении это работает следующим образом.
void function()
{
/* snip */
try
{
/* Do stuff, in this case a P2P transfer is started using an external library
as long as this thread is active, the P2P transfer will be too. */
//Prevent thread from closing
char a;
std::cin >> a;
}
catch (std::exception& e)
{
/* snip */
}
return 0;
}
, что препятствует закрытию потока, пока пользователь не введет что-либо.В конечном счете, я хочу вот что:
void function()
{
int x = 1;
/* snip */
try
{
/* Do stuff, in this case a P2P transfer is started using an external library
as long as this thread is active, the P2P transfer will be too. */
//Prevent thread from closing
while(x = 1)
{
//Do nothing until the user stops the transfer (x becomes 0 when the user hits stop)
}
}
catch (std::exception& e)
{
/* snip */
}
return 0;
}
Но это нехорошо .. Процессор взлетает до 100%.Я попытался поместить sleep(1);
в цикл while, но это не имело никакого значения, и я не уверен, как это повлияет на передачу.