Article View: pl.comp.lang.c
Article #308997Re: Wektory i mapy bezpieczne wątkowo
From: godek.maciek
Date: Tue, 24 Jan 2017 14:24
Date: Tue, 24 Jan 2017 14:24
37 lines
3097 bytes
3097 bytes
W dniu wtorek, 24 stycznia 2017 15:13:17 UTC+1 użytkownik Borneq napisał: > > Można użyć muteks/sekcję krytyczną. Do prostych zastosowań powinno wystarczyć > > (Generalnie w C++ obowiązuje zasada, żeby nie płacić za to, czego się nie używa) > > https://pl.wikibooks.org/wiki/POSIX_Threads/Synchronizacja_mi%C4%99dzy_w%C4%85tkami/Mutexy > > Czy muteksy to mają być obiekty globalne? To, czy obiekt jest "globalny", czy nie, to kwestia tylko i wyłącznie organizacji oprogramowania. Na pewno nie ma powodów, żeby muteksy były globalnymi obiektami. > Wolałbym by były to pola > obiektu ale czy wątek będzie miał dostęp do obiektu? Jeżeli przekażesz mu referencję, to będzie miał dostęp. W wątkach posixowych jest tak, że przy tworzeniu wątku przekazujesz dodatkowy parametr -- wskaźnik -- który zawiera to, co chcesz, żeby zawierał. > Procedura wątkowa > nie może być obiektowa (co najwyżej statyczna), a może obiekt this > podawać jako parametr? Nie siedzę w C++ na tyle głęboko, żeby stwierdzić, czy to dobra praktyka, ale na ile rozumiem sprawę, to co nazywasz "procedurą obiektową" (rozumiem, że chodzi o metodę klasy), to zwykła funkcja, która przyjmuje implicite dodatkowy parametr "this", toteż wydaje mi się, że sprawę powinno załatwić odpowiednie rzutowanie (choć podejrzewam, że użytkownikom C++ takie rozwiązanie może nie podchodzić, i pewnie są jakieś C++-owe biblioteki, które to wszystko opakowują). Na przykład takie coś: pthread_t thread; pthread_create(&thread, NULL, &MojaKlasa::metodaWKtorejUzywamThis, (void *) adresObiektuMojejKlasy)
Technical Details
Message-ID:
<e5c83eff-5493-4b23-b453-1a722d8234ff@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!news.ripco.com!news.glorb.com!r185no1937838ita.0!news-out.google.com!78ni12497itm.0!nntp.google.com!r185no1927759ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<o67hv8$s16$1@node2.news.atman.pl> <27de4961-6dec-47f9-8846-f6b1ba2ac7c9@googlegroups.com> <o67k0q$tqa$1@node2.news.atman.pl> <b26a39d6-d9bf-4703-9776-c5a9d4ccc5b7@googlegroups.com> <o67nds$1i9$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
X-Received: by 10.157.60.7 with SMTP id q7mr10427212otc.141.1485267869214; Tue, 24 Jan 2017 06:24:29 -0800 (PST) X-Received: by 10.157.39.202 with SMTP id c68mr1291696otb.8.1485267869174; Tue, 24 Jan 2017 06:24:29 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!news.ripco.com!news.glorb.com!r185no1937838ita.0!news-out.google.com!78ni12497itm.0!nntp.google.com!r185no1927759ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Tue, 24 Jan 2017 06:24:28 -0800 (PST) In-Reply-To: <o67nds$1i9$1@node2.news.atman.pl> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.192.95.134; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r NNTP-Posting-Host: 213.192.95.134 References: <o67hv8$s16$1@node2.news.atman.pl> <27de4961-6dec-47f9-8846-f6b1ba2ac7c9@googlegroups.com> <o67k0q$tqa$1@node2.news.atman.pl> <b26a39d6-d9bf-4703-9776-c5a9d4ccc5b7@googlegroups.com> <o67nds$1i9$1@node2.news.atman.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <e5c83eff-5493-4b23-b453-1a722d8234ff@googlegroups.com> Subject: Re: Wektory i mapy bezpieczne wątkowo From: godek.maciek@gmail.com Injection-Date: Tue, 24 Jan 2017 14:24:29 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit