From: Alpha Blue Date: 2010-01-22T08:36:46+09:00 Subject: Re: Threads or Fibers - which should I use? Hi Joel. Let me provide a little more detail. The logic of the gui itself revolves around building fields that will eventually be used as web search logic. I've written a similar program in AutoIt which used a lot of C++ core api. The field elements in the gui are taken and converted into specific string reference, built as a complete search string and sent to a search engine. This means that during search functionality I need to make use of sockets. Brief example: Say I wanted the program to search for specific stocks across 5 major stock sites at the same time, pull the data from those sites, compile the data to see what matches/compares, and display only the relevant data that has the most recent timestamp. In this particular example, it would act as a stock ticker. So, using this example, the Gui will be comprised of the following: An area to hold stock symbols An area to hold stock data An options area for limiting returns by specific criteria A status bar that's divided over 3 fields, with one being a built-in clock. Etc.. You can probably get a visual idea of what's going on with this. In addition, I'm using the following things to develop my gui app. WxRuby (as my gui library) DialogBlocks (as my gui designer - xrc builder) wx_sugar (to setup a frame.rb template for holding all the xrc data) my_program (which puts the xrc data together along with the listener events) etc... I'm still getting my feet wet with designing ruby gui applications but I learn fast - always have. I've already built at least 10 listener events and designed a good portion of the gui (being that I already had a gui created from a former programming lanugage to inherit from). What I'm trying to do now is setup the transitions of my app. I don't want to go through the motions and find that it's stuck in a loop or that it appears unresponsive.. In AutoIt, sleep events were used like timers but with loop conditionals attached to them. So, the main gui would run a large loop and once a listener event was hit, the loop would exit, the event would be run, and once the event finished, it would initiate the main gui loop again and setup listening. As you can see here, this wasn't multi-threaded and it simply was frustrating to use. I'm trying to adapt my old program to something better and also allow for cross-platform accessibility. Suggestions based off my criteria? -- Posted via http://www.ruby-forum.com/.