<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Parallel in Datei schreiben?]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich schreibe gerade ein Programm, das parallel Daten in eine Datei schreiben soll.</p>
<p>z.B:</p>
<p>Prog1 lese, verarbeite -&gt; schreibe Datei1</p>
<p>Prog2 lese, verarbeite -&gt; schreibe Datei1</p>
<p>wenn die Programme gleichzeitig auf die Datei zugreifen, kann es passieren, dass Daten verloren gehen, oder gibt es sicherheits routinen (schreibe: an Datei anhängen) die es ermöglichen gleichzeitig die Datei zu öffnen und parallel zu schreien?</p>
<p>oder: wie kann ich solche Probleme am Besten umgehen?</p>
<p>thx 4 u Help</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205247/parallel-in-datei-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 22:13:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205247.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Feb 2008 09:41:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Parallel in Datei schreiben? on Tue, 12 Feb 2008 09:41:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich schreibe gerade ein Programm, das parallel Daten in eine Datei schreiben soll.</p>
<p>z.B:</p>
<p>Prog1 lese, verarbeite -&gt; schreibe Datei1</p>
<p>Prog2 lese, verarbeite -&gt; schreibe Datei1</p>
<p>wenn die Programme gleichzeitig auf die Datei zugreifen, kann es passieren, dass Daten verloren gehen, oder gibt es sicherheits routinen (schreibe: an Datei anhängen) die es ermöglichen gleichzeitig die Datei zu öffnen und parallel zu schreien?</p>
<p>oder: wie kann ich solche Probleme am Besten umgehen?</p>
<p>thx 4 u Help</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454194</guid><dc:creator><![CDATA[datei_schreiben]]></dc:creator><pubDate>Tue, 12 Feb 2008 09:41:39 GMT</pubDate></item><item><title><![CDATA[Reply to Parallel in Datei schreiben? on Tue, 12 Feb 2008 09:52:29 GMT]]></title><description><![CDATA[<p>In Dateien zu schreiben ist einer der klassischen Anwwendungsfälle für gegenseitigen Ausschluß. Du wirst immer Probleme bekommen, wenn zwei Programme gleichzeitig in eine Datei schreiben, da der OS-Scheduler normalerweise nichtdeterministisch umschaltet. Programm 1 will eigentlich &quot;abcdefg&quot; schreiben, wird aber nach dem &quot;d&quot; zugunsten von Programm 2 abgewürgt. P2 schreibt nun &quot;123456&quot;, wird aber wiederrum nach &quot;4&quot; Schlafen gelegt. Nun schreibt P1 seinen Teil zu ende, danach ist wieder P2 dran. In der Datei steht nun &quot;abcd1234efg56&quot;, obwohl &quot;abcdefg123456&quot; drinstehen sollte. Die Ergebnisse werden sich bei fast jedem Durchlauf unterscheiden.</p>
<p>Hilft also nichts, du musst, wenn du wirklich nur &quot;abcdefg123456&quot; zulassen möchtest, sicherstellen, dass jedes Programm seinen Teil exklusiv schreiben darf.</p>
<p>Unter welchem OS soll das Programm laufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454204</guid><dc:creator><![CDATA[mad_martin]]></dc:creator><pubDate>Tue, 12 Feb 2008 09:52:29 GMT</pubDate></item><item><title><![CDATA[Reply to Parallel in Datei schreiben? on Tue, 12 Feb 2008 09:56:10 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Du darfst nicht gleichzeitig mehrmals schreibend auf eine Datei zugreifen. Du must das abwechselnd machen, am besten abgesichert durch eine Critical Section.</p>
<p>/Edit : zu spät... dummes Telefon</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454210</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 12 Feb 2008 09:56:10 GMT</pubDate></item><item><title><![CDATA[Reply to Parallel in Datei schreiben? on Tue, 12 Feb 2008 10:14:02 GMT]]></title><description><![CDATA[<p>Das stimmt so im Allgemeinen nicht. Unter Unix beispielsweise ist ein write-Aufruf unterhalb einer bestimmten Größe atomar, d.h. er kann nicht unterbrochen werden. Aufpassen muss man bei gepufferter Ausgabe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454220</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 12 Feb 2008 10:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to Parallel in Datei schreiben? on Tue, 12 Feb 2008 10:52:29 GMT]]></title><description><![CDATA[<p>Stimmt, der Schreibvorgang kann atomic sein. Hab ich vergessen. Gilt aber nicht für jede Blockgröße!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454247</guid><dc:creator><![CDATA[mad_martin]]></dc:creator><pubDate>Tue, 12 Feb 2008 10:52:29 GMT</pubDate></item><item><title><![CDATA[Reply to Parallel in Datei schreiben? on Tue, 12 Feb 2008 12:24:42 GMT]]></title><description><![CDATA[<p>datei_schreiben schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>Ich schreibe gerade ein Programm, das parallel Daten in eine Datei schreiben soll.</p>
<p>z.B:</p>
<p>Prog1 lese, verarbeite -&gt; schreibe Datei1</p>
<p>Prog2 lese, verarbeite -&gt; schreibe Datei1</p>
<p>wenn die Programme gleichzeitig auf die Datei zugreifen, kann es passieren, dass Daten verloren gehen, oder gibt es sicherheits routinen (schreibe: an Datei anhängen) die es ermöglichen gleichzeitig die Datei zu öffnen und parallel zu schreien?</p>
<p>oder: wie kann ich solche Probleme am Besten umgehen?</p>
<p>thx 4 u Help</p>
</blockquote>
<p>Du hast dein Betriebssystem nicht angegeben. Im Prinzip laeufts aber darauf hinaus, dass du dir selbst einen Lock erstellen musst. Ganz primitiv z. B.: du nimmst eine temporaere Datei als Lock:</p>
<p>Das Pogramm, das auf die Datei zugreifen will, schaut nach, ob es die Lock-Datei bereits gibt. Wenn nicht, dann erstellt es sie und greift (wenn das erstellen Erfolgreich war) auf die Datei zu, und loescht den Lock nachher wieder. Wenn die Lock-Datei bereits erstellt wurde, wartet das Programm so lange, bis das andere Programm den Lock wieder loescht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454317</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Tue, 12 Feb 2008 12:24:42 GMT</pubDate></item></channel></rss>