El , Victor Olaya &lt;volayaf@gmail.com&gt; escribió:<br />&gt; &gt;<br />&gt; <br />&gt; &gt;&gt; What should be the benefit of multithreading here? To run algorithms<br />&gt; <br />&gt; &gt;&gt; outside from main thread so that GUI does not get blocked?<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; IMHO this is the main reason; I think the way GDALTools work is fine for the user.<br />&gt; <br />&gt; &gt; All the best.<br />&gt; <br />&gt; <br />&gt; <br />&gt; I agree with Paolo. That is the main reason. Executing several<br />&gt; <br />&gt; algorithms at the same tiem means more complexity not only because all<br />&gt; <br />&gt; the reasons mentioned before, but also in the design of SEXTANTE,<br />&gt; <br />&gt; since the result of one algorithm might modify the inputs available<br />&gt; <br />&gt; for a different one, and tracking all that can be hard as well.<br />&gt; <br />&gt; <br />&gt; <br />&gt; Of course, this could be done in the future, but for now, an within<br />&gt; <br />&gt; GSoC, if we get to run algorihtms in a separate thread robustly and<br />&gt; <br />&gt; they do not block the GUI I will be more than happy.<br />&gt; <br /><br />Yes, that would be the main goal, and is, I think, relatively simple to implement: Main thread handles GUI stuff, this newly introduced thread handles the algorithm.<br /><br />One thing that is missing is the ability for the algorithms themselves to signal changes (percentages, text feedback, failure, etc), that is, from algorithm.execute()<br />Should the progress objects be repurposed for this?<br /><br />Thanks for your comments,<br /><br />Camilo