1999Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Java I/O and threads. -->
<!--X-From-R13: Syvf Bbznyrf <cbznyrfNpnvc.ehgtref.rqh> -->
<!--X-Date: Mon, 25 Jan 1999 13:39:54 &#45;0800 -->
<!--X-Message-Id: Pine.GSO.3.96.990125163742.21147A&#45;100000#arrow,rutgers.edu -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 19990125171927.A1348#thelonious,new.ox.ac.uk -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Java I/O and threads.</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:pomales#caip,rutgers.edu">
</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>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00264.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00266.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00257.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00244.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00265">Author</A>
&nbsp;|&nbsp;<A HREF="#00265">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00265">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Java I/O and threads.</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: Java I/O and threads.</LI>
<LI><em>From</em>: Elis Pomales &lt;<A HREF="mailto:pomales#caip,rutgers.edu">pomales#caip,rutgers.edu</A>&gt;</LI>
<LI><em>Date</em>: Mon, 25 Jan 1999 16:39:46 -0500 (EST)</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>
Using pine! cheer!

On Mon, 25 Jan 1999, Jo Dillon wrote:

&gt; Elis Pomales (pomales#caip,rutgers.edu) spake thusly:
&gt; &gt; The current dilemma, is whether I should use threads on a per player (per
&gt; &gt; socket) basis, or implement a polling loop and queue player commands,
&gt; &gt; handling one command per player per loop cycle. The problem with having a
&gt; &gt; thread per player is the context switching overhead. The problem with the
&gt; &gt; polling loop is that I have to check each player to see if they have
&gt; &gt; input. (There is no select() in Java.) Furthermore, processing one command
&gt; &gt; per player may make the system very unresponsive??? Making it seem turn
&gt; &gt; based? 
&gt; 
&gt;   I believe there's no non-blocking I/O either, so as you've foreseen
&gt; it wouldn't be a good plan. It could leave the mud locked up indefinitely,
&gt; in fact ;) With Java your best bet is one thread per socket, I should think.

Yes non-blocking calls can be done by setting So_Linger (I'm at work so
don't ask for specifics :)
So the question still stands :).  

&gt; &gt; What solutions have you guys (and gals?) employed in your servers? 
&gt; &gt; I guess one way to use the polling loop would be to keep each command as
&gt; &gt; small as possible...
&gt; &gt; 
&gt; &gt; PS. I would still use more threads, one for NPC's and one for the game
&gt; &gt; world.
&gt; &gt; 
&gt; &gt; PSS. Is having 100+ threads really that bad? (I would think so)
&gt; 
&gt;   Not necessarily - it depends on your hardware and OS. Java's designed
&gt; to use lots of threads so it's not too much of a worry.

Yes maybe, but if the threads are native threads then we are really
running into context switches...

&gt; -- 
&gt; 	Jo
&gt; 



</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="00254" HREF="msg00254.html">[MUD-Dev] Re: Java I/O and threads.</A></STRONG>
<UL><LI><EM>From:</EM> Jo Dillon &lt;emily#thelonious,new.ox.ac.uk&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00264.html">[MUD-Dev] Re: PvP and mob capacities (was "List Peerage")</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00266.html">[MUD-Dev] Telmaron and Mud servers was: Re: META: list "peerage"</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00257.html">[MUD-Dev] Re: Java I/O and threads.</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00244.html">[MUD-Dev] ADMIN: We're working again.</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00265"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00265"><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><A NAME="00251" HREF="msg00251.html">[MUD-Dev] Java I/O and threads.</A></strong>, 
Elis Pomales <a href="mailto:pomales#caip,rutgers.edu">pomales#caip,rutgers.edu</a>, Mon 25 Jan 1999, 15:19 GMT
<UL>
<LI><strong><A NAME="00254" HREF="msg00254.html">[MUD-Dev] Re: Java I/O and threads.</A></strong>, 
Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Mon 25 Jan 1999, 17:19 GMT
<UL>
<LI><strong><A NAME="00255" HREF="msg00255.html">[MUD-Dev] Re: Java I/O and threads.</A></strong>, 
cynbe <a href="mailto:cynbe#muq,org">cynbe#muq,org</a>, Mon 25 Jan 1999, 18:12 GMT
<UL>
<LI><strong><A NAME="00257" HREF="msg00257.html">[MUD-Dev] Re: Java I/O and threads.</A></strong>, 
Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Mon 25 Jan 1999, 19:04 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00265" HREF="msg00265.html">[MUD-Dev] Re: Java I/O and threads.</A></strong>, 
Elis Pomales <a href="mailto:pomales#caip,rutgers.edu">pomales#caip,rutgers.edu</a>, Mon 25 Jan 1999, 21:39 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00244" HREF="msg00244.html">[MUD-Dev] ADMIN: We're working again.</A></strong>, 
J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Mon 25 Jan 1999, 01:49 GMT
<LI><strong><A NAME="00237" HREF="msg00237.html">[MUD-Dev] Re: Mugu</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 21 Jan 1999, 02:42 GMT
<LI><strong><A NAME="00236" HREF="msg00236.html">[MUD-Dev] Re: Graphic design doc</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 21 Jan 1999, 02:31 GMT
<LI><strong><A NAME="00223" HREF="msg00223.html">[MUD-Dev] Re: META: list "peerage"</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Thu 21 Jan 1999, 00:06 GMT
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>