<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges --> <!--X-From-R13: "Xba O. Znzoreg" <wyflfvapNvk.argpbz.pbz> --> <!--X-Date: Mon, 10 Aug 1998 23:58:35 -0700 --> <!--X-Message-Id: 199808110658.BAA01036@dfw-ix8.ix.netcom.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 001201bdc4de$58890340$961e5d18#default,rochester.rr.com --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:jlsysinc#ix,netcom.com"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00654.html">Previous</a> | <a href="msg00656.html">Next</a> ] Thread: [ <a href="msg00651.html">Previous</a> | <a href="msg00646.html">Next</a> ] Index: [ <A HREF="author.html#00655">Author</A> | <A HREF="#00655">Date</A> | <A HREF="thread.html#00655">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Subject</em>: [MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges</LI> <LI><em>From</em>: "Jon A. Lambert" <<A HREF="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</A>></LI> <LI><em>Date</em>: Tue, 11 Aug 1998 02:59:20 -5</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> On 11 Aug 98, James Wilson wrote: > From: Jon A. Lambert <jlsysinc#ix,netcom.com> > > > What is the mingw32 system? > > MINimal GNU Win32. It's a cutdown of the whole GnuWin32 package, > which is hefty and bloated and evil, but to my mind far preferable to > borland, msvc++, etc. I spit on their crappy IDEs, ptui! > mingw32: > <url <A HREF="http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/index.html">http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/index.html</A>> > gnuwin32: > <url <A HREF="http://www.cygnus.com/misc/gnu-win32/">http://www.cygnus.com/misc/gnu-win32/</A>> > Ok. The Cygnus implementation of sockets is somewhat suspect. All other concerns to the side, Cygnus recommends that WIN32 socket natives be used in preference to their sockets emulation. There is a great deal of overhead in the Unix emulation (obviously!). Also, Cygnus has in the past found (and often fixed) many an error in this area. There does exist an ability to mix and match Cygus GNU libraries with native windows calls. If there is a portability issue, the use of winsock is usually a comfortable port to Linux as Linux is to other flavors of Unix. Also winsock and winsock2 offer a number of interesting and useful features (non-portable, of course), which are theoretically relevant to the blocking/non-blocking discussion at hand. Like WSAAsyncSelect(), WSASetBlockingHook(), etc. Of course, such a discussion would not provide any immediate practical value to Unix programming. From what I can glean from the web pages, the Minimal GNU Win32 library simply provides a wrapper to winsock natives. You might achieve the same level portability results with some minimal conditional compilation (at least in the sockets area). I'd would "guess" that read() and write() are mapped to recv() and send() since win32 does not attach file handles to sockets. Thus there is likely an abstraction layer that handles file handles to allow redirection of select()? hmm... > > > I'm a bit concerned about the overhead of using a thread pool, though, > since > > > my two > > > target platforms (win32 and linux) use heavyweight threads. Has anyone > tried > > > a bytecode vm that implements user-level threads, setting up a scheduler > > > that timeslices between 'processes', switches context on blocking i/o, > and > > > so on? Maybe this could give you lightweight, portable threading while > > > keeping the whole process in a single thread? I'm imagining something > where > > > the main thread is either chomping bytecode or checking for io-ready > > > sockets. > > > > Aye . I believe MUQ does exactly this. Many of the programable > > servers impose execution limits on internal tasks (i.e. Cold, LP) > > > hmmm... this sounds promising. I'll poke around and see what I can find. > can anyone comment on the pros and cons of such an approach? There are some old links on this. 2nd or 3rd Qtr 97. Look for "Threads" in subject line and/or author "Cybne ru Taren" (sp?). <OT> As far as the stuff about compiler and mailer preferences, I think it's pretty irrelevant to the discussion. And I care not to go there. </OT> -- --/*\ Jon A. Lambert - TychoMUD Internet:jlsysinc#ix,netcom.com /*\-- --/*\ Mud Server Developer's Page <<A HREF="http://www.netcom.com/~jlsysinc">http://www.netcom.com/~jlsysinc</A>> /*\-- --/*\ "Everything that deceives may be said to enchant" - Plato /*\-- </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00651" HREF="msg00651.html">[MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges</A></STRONG> <UL><LI><EM>From:</EM> "James Wilson" <jwilson#rochester,rr.com></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00654.html">[MUD-Dev] Re: lurker emerges</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00656.html">[MUD-Dev] Re: lurker emerges</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00651.html">[MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00646.html">[MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges)</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00655"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00655"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>[MUD-Dev] Re: clients anyone?...</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00790" HREF="msg00790.html">[MUD-Dev] Re: clients anyone?...</A></strong>, Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Thu 20 Aug 1998, 18:25 GMT </LI> </ul> </ul> <LI><strong><A NAME="01064" HREF="msg01064.html">[MUD-Dev] Re: clients anyone?...</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Fri 18 Sep 1998, 20:51 GMT <UL> <LI><strong><A NAME="01081" HREF="msg01081.html">[MUD-Dev] Re: clients anyone?...</A></strong>, Andrew Wilson <a href="mailto:andrew#aaaaaaaa,demon.co.uk">andrew#aaaaaaaa,demon.co.uk</a>, Sun 20 Sep 1998, 00:58 GMT </LI> </UL> </LI> </ul> </LI> <LI><strong><A NAME="00651" HREF="msg00651.html">[MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges</A></strong>, James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Tue 11 Aug 1998, 04:20 GMT <UL> <LI><strong><A NAME="00655" HREF="msg00655.html">[MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Tue 11 Aug 1998, 06:58 GMT </LI> </UL> </LI> <LI><strong><A NAME="00646" HREF="msg00646.html">[MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges)</A></strong>, James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Tue 11 Aug 1998, 02:44 GMT <UL> <LI><strong><A NAME="00650" HREF="msg00650.html">[MUD-Dev] Re: async i/o and threads (was: Re: lurker emerges</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Tue 11 Aug 1998, 03:56 GMT </LI> </UL> </LI> <LI><strong><A NAME="00639" HREF="msg00639.html">[MUD-Dev] Re: META: List combat character and racial memory (was Re: Affordances and social method (Was: Re: Wire d Magazine...))</A></strong>, kamikaze <a href="mailto:kamikaze#kuoi,asui.uidaho.edu">kamikaze#kuoi,asui.uidaho.edu</a>, Mon 10 Aug 1998, 20:50 GMT <UL> <LI><strong><A NAME="01057" HREF="msg01057.html">[MUD-Dev] Re: META: List combat character and racial memory (was Re: Affordances and social method (Was: Re: Wire d Magazine...))</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 17 Sep 1998, 01:07 GMT </LI> </UL> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>