Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!newsfeed.direct.ca!nntp.portal.ca!van-bc!n1van.istar!van.istar!west.istar!ott.istar!istar.net!gateway.qnx.com!not-for-mail From: doug@qnx.com (Doug Santry) Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: Linux or FreeBSD (or something else?) Date: 31 Mar 1997 14:50:40 -0500 Organization: QNX Software Systems Lines: 19 Message-ID: <5hp4ig$6qq@qnx.com> References: <3337e3ad.1847437@news.sprynet.com> <5hmlnk$c3m@dfw-ixnews4.ix.netcom.com> <333EE7B4.237C228A@FreeBSD.org> <5hn11r$6gr@fido.asd.sgi.com> NNTP-Posting-Host: gateway.qnx.com Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:38200 In article <5hn11r$6gr@fido.asd.sgi.com>, Larry McVoy <lm@slovax.engr.sgi.com> wrote: >Jordan K. Hubbard (jkh@FreeBSD.org) wrote: >: That's all complete bollocks, unfortunately. For one thing, >: "mutlthreading" is something which can take place at two levels, the >: application layer (POSIX threads) and the kernel. You DO NOT NEED >: kernel threads to do effective multithreaded applications, just working >: user-mode threads (which FreeBSD has, including a specialized version of >: libc which is thread safe). > >So what happens when a thread blocks in read(2)? You can multiplex I/O over context switches inside the threads library. Catch blocking calls, switch another thread and select on all FDs with blocked threads once in a while(at least every context switch). Lets not start another flame war over this...it has been done to death here! DJS