Author: Miguel A. Ballicora
Date: 12:31:55 12/27/01
Go up one level in this thread
On December 27, 2001 at 14:25:09, Russell Reagan wrote: >I would like to try a multithreaded approach to writing my chess program, and I >would like a little help in understanding some concepts. I understand the basics What do you mean exactly by multithreaded approach? 1) a program with two threads, one is the interface and the other is the engine 2) a program that has more than one "searching thread" (Like the "Deep" programs). Miguel >of multithreaded programming. I can start threads, setup data protection for >data shared between threads, etc. Basically, I know how to use threads and I can >implement them, I know how to implement data protection schemes (critical >sections, mutexes, etc.) but I don't know the proper use of those data >protection schemes. > >I have done a lot of asking around, posting on other message boards, gone to the >library, and read some at my local bookstore, but I usually leave a little more >confused than when I started. A typical "learning" experience goes something >like this: I read about the need for data sharing protection, and then I read >about the implementation of critical sections. So far so good. Then I move on to >the next section and I read about mutexes, and I read about how to implement >those. I understand everything that I've read, but I don't understand which data >protection schemes I should use. In other words, I could implement a >multithreaded application using critical sections, and I could do it using >mutexes, and the other methods, but I don't know if I'm done after I get my >program working with only one of those schemes. > >Are critical sections used for a certain problem, and mutexes used for another, >and semaphores used for yet another? Or are they all an attempted solution to >the same problem? And do I need to use more than one of these in my program, or >will one of these methods solve the problem? And if one will do, are there any >that would serve a chess program better than the others? > >From what I gather, on a single processor machine, using only one of these >methods should work. But what new problems enter the scene on a multiprocessor >machine and what solutions exist for those new problems? I am currently on a >single processor machine, but I'd like to move to a multiprocessor machine in >the future, so I'd like to have the framework *basically* in place to allow for >a smooth transition. > >Thanks for your help. > >Russell
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.