From mboxrd@z Thu Jan 1 00:00:00 1970 From: palazzol@comcast.net To: 9fans@9fans.net Date: Tue, 20 May 2008 14:10:38 +0000 Message-Id: <052020081410.8330.4832DBDE0001F9A00000208A2206998499040196960E040E9F@comcast.net> Subject: [9fans] Threading Model Questions Topicbox-Message-UUID: ab726082-ead3-11e9-9d60-3106f5b1d025 Hello, I've been looking into the Bell Labs CSP-style threading model, trying a few test programs, and watching the Russ Cox and Rob Pike movies. I have a few of questions. 1) Are there any valid criticisms to this approach? Everyone seems to agree it is superior to "lower-level" models, but are there any areas where this model doesn't work comparatively well? 2) Are there examples of the equivalence between this model and other ones (in terms of capability) 3) Why are the existing CSP-based libraries for other OS's (C++CSP2, JCSP, pyCSP) much more complex? It seems like passing "channel ends" instead of channels might be a good idea, but the rest of the stuff seems like complexity with limited/no benefit? For example, defining channels as One2One, One2Any, etc. Also, the idea of scoped forking versus "free-form" thread/process creation. 4) Finally, it looks like libthread has support for a lot of non-CSP stuff. Is this part used much? Or is it just there for historical and/or completeness reasons. Thanks for any opinions! -Frank