Article View: pl.comp.lang.delphi
Article #346209Re: Problem z synchronizacją wątków i DB
From: Krzysztof Szyszka
Date: Wed, 29 Nov 2017 16:29
Date: Wed, 29 Nov 2017 16:29
32 lines
3063 bytes
3063 bytes
> Coś w tym stylu. > Procedury wyliczają różne wyniki, składają dane z innych funkcji itp. a użytkownik ma możliwość > ich odświeżenia na żądanie. > W tym samym czasie ma podgląd na inne wyniki które aktualizują się samoczynnie co podany czas. > > Dla tego muszę to robić wielowątkowo aby nie ścinać interfejsu użytkownikowi kiedy coś sobie w nim > dłubie (np. ustala parametry wywołania procedury) a równocześnie w tle aktualizują się inne > procedury. Jeśli te dane służą tylko do oglądania w DBGridzie (bez edycji w DBGridzie) i mają się odświeżać bez angażowania głównego wątku, to najprościej będzie zrobić podwójne buforowanie DataSetów. Jeden DataSet cały czas jest podłączony do DBGrida i pozwala przeglądać dane, a żądanie odświeżenia powoduje pobranie tych samych danych w wątku pobocznym do drugiego DataSet. Jak wątek skończy działanie (pobierze wszystkie dane) to informuje wątek główny, że można podmienić DataSety i podłaczyć do DBGrida ten odświeżony, a ten pierwszy DataSet można zamknąć. To jest taka kosztowniejsza pamięciowo (ale prosta do realizacji) wersja rozwiązanie, które na początku podał Wloochacz z doczytywaniem jedynie danych, które się zmieniły, ale tu nie musisz wiedzieć, co się zmieniło w danych. -- pozdrowienia Krzysztof Szyszka, X-Files Software Developer of X-DBGrid Component Embarcadero Technology Partner http://www.x-files.pl/ Join to "Delphi X-DBGrid Component Community" https://plus.google.com/#communities/100842098152269100547
Technical Details
Message-ID:
<ovmn9a$p91$1@node1.news.atman.pl>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> <7ae9b286-cfde-4cab-8bba-c6829ec96fb3@googlegroups.com> <a1ca8125-7a54-44b0-be4e-421de20f30a4@googlegroups.com> <17fe2459-d364-46e7-acfc-b06a7426729b@googlegroups.com> <qxwr85a6zbng$.dlg@tyczka.com> <234d29d0-72e3-479a-9f93-2ede15cf1b60@googlegroups.com> <2w5nwt3jfl2j.dlg@tyczka.com> <47effe36-e053-4ee5-855c-59220c83e516@googlegroups.com> <11c4sao2ninoo.dlg@tyczka.com> <a2dc7c6d-b99a-42f6-948c-46d113963fea@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: "Krzysztof Szyszka" <nomail@gazeta.pl> Newsgroups: pl.comp.lang.delphi Subject: Re: Problem z synchronizacją wątków i DB Date: Wed, 29 Nov 2017 17:29:16 +0100 Organization: ATMAN - ATM S.A. Lines: 33 Message-ID: <ovmn9a$p91$1@node1.news.atman.pl> References: <90a4ea00-38f5-45fc-b22c-7db238f908e2@googlegroups.com> <7ae9b286-cfde-4cab-8bba-c6829ec96fb3@googlegroups.com> <a1ca8125-7a54-44b0-be4e-421de20f30a4@googlegroups.com> <17fe2459-d364-46e7-acfc-b06a7426729b@googlegroups.com> <qxwr85a6zbng$.dlg@tyczka.com> <234d29d0-72e3-479a-9f93-2ede15cf1b60@googlegroups.com> <2w5nwt3jfl2j.dlg@tyczka.com> <47effe36-e053-4ee5-855c-59220c83e516@googlegroups.com> <11c4sao2ninoo.dlg@tyczka.com> <a2dc7c6d-b99a-42f6-948c-46d113963fea@googlegroups.com> NNTP-Posting-Host: 89-77-104-79.dynamic.chello.pl Mime-Version: 1.0 X-Trace: node1.news.atman.pl 1511972970 25889 89.77.104.79 (29 Nov 2017 16:29:30 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Wed, 29 Nov 2017 16:29:30 +0000 (UTC) In-Reply-To: <a2dc7c6d-b99a-42f6-948c-46d113963fea@googlegroups.com> X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit