Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to poll stdin during thinking?

Author: David Rasmussen

Date: 13:03:25 12/14/01

Go up one level in this thread


On December 14, 2001 at 11:19:08, Miguel A. Ballicora wrote:

>I do this different. The main thread is the "input" or "interface" thread
>and the "engine" thread is called by the interface thread. In this way,
>the interface thread is always in control. It launches the engine to think,
>ponder, analyze etc. It also kills it through a STOP_FLAG global variable.
>
>I do not think it is a good idea to have the engine to control the interface.
>It sounds counter-intuitive to me.
>

I agree with that design philosophy. In Chezzz, which is not multi-threaded in
any way, I have tried to follow the same philosophy. Even though things are not
split into threads, the design is centered around input and output. The engine
as such is only called when it is needed (of course), and the engine is designed
in way so that the input output has all the control it needs over the thinking
process. It has resultet in a very clear design, pondering is very logical and
easy to follow (contrary to, say, Crafty), and I have had few or no xboard
compatibility bugs or errors after the design was finished.

/David



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.