Date: Tue, 12 Jan 1999 21:20:38 -0500 From: Justin Wells <reader@semiotek.com> To: freebsd-java@FreeBSD.ORG Subject: busywait in IOstream code? Message-ID: <19990112212038.E2400@semiotek.com>
next in thread | raw e-mail | index | archive | help
I have a multithreaded program which normally runs under a web server,
but I have a bunch of command line test harnesses that I run against it,
basically I type in a command and it does something--I use this to debug
my program.
However, I noticed when doing this that my background threads weren't
ever getting a chance to execute. Doing this in a high priority thread:
for(;;;) { sleep(someTime); }
solved the problem (causes a thread scheduling event every someTime msecs).
I conclude from this that there is some code in IOStream that is
busywaiting and not yielding. It may only happen when IO is being
read from the console, since have not noticed the bug when IO comes
from somewhere else (usu. servletrunner, Apache-jserv, etc.).
Busy-waiting in general is bad; busy-waiting without even a yield is
a nasty bug. (Even with a yield it is dubious.)
Justin
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990112212038.E2400>
