From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <200008211301.JAA28588@cse.psu.edu> To: 9fans@cse.psu.edu Subject: Re: [9fans] cooperative threads From: "rob pike" Date: Mon, 21 Aug 2000 09:01:17 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Topicbox-Message-UUID: fe118e7c-eac8-11e9-9e20-41e7f4b1d025 > I think threads are popular for two main reasons: > (1) They are an easy way to exploit multiple processing units. > (2) They are much lighter weight than communicating full processes. 1) is irrelevant on a uniprocessor while 2) is a red herring: processes are not intrinsically heavyweight. Nonetheless, I agree that these are the reasons threads are popular. However, they are used throughout Plan 9 for a different reason: they provide an excellent approach for structuring programs, especially programs that must handle multiple sources of input. Examples include user-level file servers and anything interactive. See http://plan9.bell-labs.com/cm/cs/doc/89/1-a.ps.gz for some old thinking of mine on the subject. This paper was written a couple of years before 8=C2=BD, but you can see where I'm going. -rob