Giriş
Thread'i durdurmak isteyen bir başka thread şöyle yapar.
Thread kodunda bunu yakalamak için şöyle yaparız.
Thread'i durdurmak isteyen bir başka thread şöyle yapar.
t.interrupt();
ÖrnekThread kodunda bunu yakalamak için şöyle yaparız.
try
{
...
}
catch (const boost::thread_interrupted&)
{
...
}
Örnek
Eğer şöyle yaparsak belirtilen blok içinde bu exception fırlatılmaz.
try {
...
{
boost::this_thread::disable_interruption di;
do_something();
}
} catch (boost::thread_interrupted& e) {
...
}
Eğer şöyle yaparsak exception'ı tekrar fırlatılabilir hale getiririz.
// resetting interruption
try
{
...
boost::this_thread::interruption_point();
...
}
catch (const boost::thread_interrupted&){
...
}
Örnek
Kendimiz fırlatmak istersek şöyle yaparız.throw boost::thread_interrupted();
Hiç yorum yok:
Yorum Gönder