Article View: pl.comp.lang.delphi
Article #346181Re: Problem z synchronizacją wątków i DB
From: Roman Tyczka
Date: Tue, 21 Nov 2017 17:21
Date: Tue, 21 Nov 2017 17:21
30 lines
2391 bytes
2391 bytes
On Tue, 21 Nov 2017 08:59:52 -0800 (PST), ExM wrote: >>> Jak powinienem zrobić to prawidłowo aby nie dochodziło do konflitów między watkami? >> >> Prawidłowo powinieneś w wątku utworzyć connection, wykonać query, a wyniki >> lub fakt ich gotowości przekazać do formy za pomocą Synchronize() lub np. >> PostMessage(). >> Absolutnie nie powinieneś mieć jednego query dostępnego i w wątku i w >> formie. > > Problem w tym że na wynikach tego query opiera się wiele elementów wizualnych (listy rozwijane, filtry itp) > Jeśli więc utworzę obiekt w wątku jak miałby on dalej istnieć i odświeżać wyniki jeśli byłby połączony przez TDataSource z formą główną? Musisz zmienić myślenie jeśli nie chcesz za chwilę rozgryzać "dziwnych problemów u klientów". Dane z tego query możesz wszak przepakować w obiekty i te obiekty przekazać do main threada. Miliony możliwości żeby to zrobić. > Sorry - może nie do końca zrozumiałem jak by to miało działać. Sprawnie i bezbłędnie. > Inna sprawa że jeśli pilnuję aby wszystko co się dzieje z poziomu wątku pobocznego na formie głównej było synchronizowane to jakie jest zagrożenie takiego działania? Robisz sobie sam pod górę. Nie po to się wątków używa, żeby potem musieć wszystko blokować synchronizacją. Przemyśl jakąś metodę przekazywania danych z wątka roboczego do GUI i problem rozwiązany. -- pozdrawiam Roman Tyczka
Technical Details
Message-ID:
<r1jqm7r7ph6m.dlg@tyczka.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<90a4ea00-38f5-45fc-b22c-7db238f908e2@googlegroups.com> <rtg5c5r7tivr.dlg@tyczka.com> <9d7ad2ce-b8e2-41cd-91e3-c11219515415@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Roman Tyczka <noemail@because.no> Newsgroups: pl.comp.lang.delphi Subject: Re: Problem z synchronizacją wątków i DB Date: Tue, 21 Nov 2017 18:21:44 +0100 Organization: ATMAN - ATM S.A. Lines: 30 Sender: romek@tyczka.no.found Message-ID: <r1jqm7r7ph6m.dlg@tyczka.com> References: <90a4ea00-38f5-45fc-b22c-7db238f908e2@googlegroups.com> <rtg5c5r7tivr.dlg@tyczka.com> <9d7ad2ce-b8e2-41cd-91e3-c11219515415@googlegroups.com> NNTP-Posting-Host: 94.75.90.137 Mime-Version: 1.0 X-Trace: node1.news.atman.pl 1511284904 7346 94.75.90.137 (21 Nov 2017 17:21:44 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Tue, 21 Nov 2017 17:21:44 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.15.84 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit