From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <473235F0.80107@gmail.com> Date: Wed, 7 Nov 2007 15:02:24 -0700 From: don bailey User-Agent: Thunderbird 2.0.0.6 (X11/20070816) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] Channels and threads References: <13edbccfbea367d2454018035c47ad0c@quanstro.net> In-Reply-To: <13edbccfbea367d2454018035c47ad0c@quanstro.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: ee29aeb8-ead2-11e9-9d60-3106f5b1d025 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > channels (the libthread variety) may pass by reference or value. > so passing by reference or value is orthagonal to the question > of why channels. > > for example, if you have a couple of i/o threads and one mux, > the mux can wait for a message from one of the i/o threads > that might say > a) here's your data (8192 byte+overhead message), or > b) your data is here (sizeof pointer+overhead message) > Well, yeah, I get that. I think the question I need to ask is "why use Channels at all?" What is the benefit of using Channels when threads can't be bound to a specific CPU in a multi-core system? Aren't Channels just a wrapper for locking a mutex and setting a variable or adding to a queue? D -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHMjXuyWX0NBMJYAcRAhDLAJ9l4vEwsLOBPUorybgd+NXNUlBXBACdGaxj kKd8TljZ7kXHc8vB/qKEHIg= =Sec4 -----END PGP SIGNATURE-----