🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #309234

Jak wymusić zakończenie wątku?

#309234
From: Borneq
Date: Thu, 13 Apr 2017 14:27
16 lines
1557 bytes
Używam #include <thread> które to wątki działają i na Linuksie i na Windows.
Mam coś takiego : za pomocą dużej ilości wątków zapisuję do bazy Neo4j.
Raz na jakiś czas zdarza się że wątek blokuje się na zapytaniu.
Wątek główny wie, jak dawno temu wątek poboczny usiłował coś zapisać do 
bazy, wtedy po przekroczeniu czasu mógłby go zrestartować.
Ale
jak zrobię delete threads[i], wtedy kończy się cały program!
bo jest
     ~thread()
     {
       if (joinable())
	std::terminate();
     }
a join trwał będzie w nieskończoność.
Czy pobrać Id wątku i zabić go procedurą zależną od systemu 
operacyjnego? gwałtownie zabity może mieć pootwierane jakieś zasoby.
Technical Details
Message-ID: <oco1sa$gmq$1@node1.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Borneq <borneq@antyspam.hidden.pl>
Newsgroups: pl.comp.lang.c
Subject: Jak wymusić zakończenie wątku?
Date: Thu, 13 Apr 2017 16:27:21 +0200
Organization: ATMAN - ATM S.A.
Lines: 16
Message-ID: <oco1sa$gmq$1@node1.news.atman.pl>
NNTP-Posting-Host: 91.239.205.105
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1492093642 17114 91.239.205.105 (13 Apr 2017 14:27:22 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Thu, 13 Apr 2017 14:27:22 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
X-Mozilla-News-Host: news://news.atman.pl:119
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit