<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[A4/A5] How thread safe is Allegro?</title>
		<link>http://www.allegro.cc/forums/view/615096</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 20 Feb 2015 09:56:28 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Both Allegro 4, and Allegro 5? How thread safe are we talking about? Can I blit to multiple bitmaps at the same time? Can I load files at the same time?</p><p>What happens when I blit to different sections of the same bitmap? (Mutex locked, I assume?)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Katko)</author>
		<pubDate>Thu, 19 Feb 2015 21:24:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There&#39;s actually a <a href="https://wiki.allegro.cc/index.php?title=Allegro_5_Tutorial/Threads">really good article on this</a>.  It&#39;s a shame the wiki doesn&#39;t get the attention it deserves.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Gideon Weems)</author>
		<pubDate>Fri, 20 Feb 2015 04:55:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t think A4 gives much thought to user threads. Some parts of the implementations use threads behind the scenes, but even then its a bit sketchy from what I remember. Locking is totally up to you.</p><p>As for A5, it was designed to be thread safe. Much state is stored in thread local variables. You can draw with hw in two different threads if you have two separate contexts set up. Otherwise you&#39;re stuck to a single thread drawing on a context at a time, with other threads using software.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 20 Feb 2015 05:23:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The nicest thing you can say about this is that Allegro5 aspires to be thread safe. It&#39;s straightforward to find parts that can race each other, however. I don&#39;t think many of those things can or should be fixed, but rather a better approach is to examine the common use cases and make sure they don&#39;t have thread-safety issues.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Fri, 20 Feb 2015 09:56:28 +0000</pubDate>
	</item>
</rss>
