停止Task.Factory和Threads

时间:2015-08-21 04:07:28

标签: .net spring-mvc model-view-controller

我遇到任务和线程问题。在UI web中,我们使用task来运行函数,这个函数从另一个类调用,类中的这个函数也使用Thread来运行。 问题:如何通过UI中的按钮暂停和恢复任务和线程?

1 个答案:

答案 0 :(得分:0)

暂停.net中的线程,您可以使用方法Thread.Suspend,但不建议使用此方法,here讨论了此问题。

您应该考虑实现自己的暂停逻辑,例如通过类ManualEventReset。下面的代码。

std::string askUser(const std::string& question, const std::string& default_answer)
{
    std::cout << question << ": " << default_answer << '\r';
    std::cout.flush();
    std::cout << question << ": ";


    std::string answer; 
    std::getline(std::cin, answer);
    answer = answer.empty() ? default_answer : answer;
    return answer;
}

int main()
{
    std::string answer = askUser("CONFIRM EXIT [y/n]", "y");
    std::cout << "Answer is '" << answer << "'" << std::endl;
    system("PAUSE");
}