I'm always amazed at how *more educated* programmers complain that Stackless is<br>confusing or difficult to adapt to. It seems so simple and elegant to my *self-educated*<br>mind. I'm feeling rather happy right now to be ignorant of traditional threads, semaphores, etc...<br>
<br>Thanks for that, Laurent! =)<br><br>(Now if I could just find a job... ;-)<br><br>-- <br>Phoenix Sol<br>541-646-8612<br>130 'A' Street<br>Ashland, Oregon<br>97520<br><br><div class="gmail_quote">On Feb 13, 2008 1:17 PM, Arnar Birgisson <<a href="mailto:arnarbi@gmail.com">arnarbi@gmail.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Laurent,<br><div class="Ih2E3d"><br>On Feb 13, 2008 9:05 PM, Laurent Debacker <<a href="mailto:debackerl@gmail.com">debackerl@gmail.com</a>> wrote:<br>
> I don't understand why the implementation forces me to use channels, if I do<br>> not need to 'transfer' data. You use the channel as a semaphore. I would<br>> think that it is better to implement semaphore, and then implement channels<br>
> based on semaphores. Of course, it makes sense for coroutines exchanging<br>> data, but there is cases where no data need to be transfered. Of course, by<br>> semaphore, I mean semaphores working with the µthreads, not necessarily the<br>
> ones of the kernel. I implemented the latter a while ago in C#.<br><br></div>Channels in Stackless are extremely light-weight, and yes - they are<br>often used just for tasklet synchronization (as semaphores). In this<br>
case, just send "None" and discard the result from receive. No need<br>for another construct (semaphores) to complicate matters.<br><div><div></div><div class="Wj3C7c"><br>cheers,<br>Arnar<br><br>_______________________________________________<br>
Stackless mailing list<br><a href="mailto:Stackless@stackless.com">Stackless@stackless.com</a><br><a href="http://www.stackless.com/mailman/listinfo/stackless" target="_blank">http://www.stackless.com/mailman/listinfo/stackless</a><br>
</div></div></blockquote></div>