Synchronizace - kritická sekce v metodě vlákna – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Synchronizace - kritická sekce v metodě vlákna – C / C++ – Fórum – Programujte.comSynchronizace - kritická sekce v metodě vlákna – C / C++ – Fórum – Programujte.com

 

7. 5. 2013   #1
-
0
-

Ahoj

Nejsem si jistý, zda to bude fungovat:

mám vlákno, které má vektor (PopisKlienta je struktura) a kritickou sekci:

public:
  CRITICAL_SECTION CSskupiny;
  std::vector<PopisKlienta> SeznamKlientu;

Toto má metodu pro přidání nové položky do vektoru:

 

void __fastcall vlaknoB::PridejKlienta(PopisKlienta NovyKlient)
{
	EnterCriticalSection(&CSskupiny);
	SeznamKlientu.push_back(NovyKlient);
	LeaveCriticalSection(&CSskupiny);
}

Je následující volání metody z jiného vlákna korektní?

PopisKlienta NewClient;vlaknoB *druhe = new vlaknoB(false);

vlaknoB->PridejKlienta(NewClient);

OS Windows, IDE C++ Builder 2010

hu

Nahlásit jako SPAM
IP: 188.95.60.–
KIIV
~ Moderátor
+43
God of flame
7. 5. 2013   #2
-
0
-

#1 hlucheucho
nemel by s tim byt problem... jen - nemusi se ta promenna kriticke sekce inicializovat?

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
7. 5. 2013   #3
-
0
-

podle MSDN měla. To dělám v konstruktoru vlákna jehož atributem kritická sekce je

hu

Nahlásit jako SPAM
IP: 188.95.60.–
KIIV
~ Moderátor
+43
God of flame
7. 5. 2013   #4
-
0
-

tak v tom pripade nevidim duvod proc by to nemelo jit... sem takovyhle zasobovani worker threadu z nadrazeneho vlakna pouzival tez...

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
7. 5. 2013   #5
-
0
-

Dělám to poprvé, chtěl jsem znát názor zkušenějších   

hu

Nahlásit jako SPAM
IP: 188.95.60.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 27 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý