Monday, March 24, 2008

Notes about multithreading

I have created a new branch in SVN with the code that I have currently
written for a multi-threaded FlameRobin, using Boost libraries.

If you are interested you can check it out from

<https://flamerobin.svn.sourceforge.net/svnroot/flamerobin/branches/fr-with-boost>

I have built it using MSVC++ on Windows, and using gcc on Ubuntu. Boost
libraries need to be installed on the machine, that can be done using
apt-get on Ubuntu, and by manually installing the latest libraries
installer from www.boost.org on Windows. On Windows the environment
variable BOOST_ROOT needs to be defined.

The code doesn't do a whole lot currently: It loads the
fr_databases.conf file and shows the databases in a tree view.
Double-click or [Return] on a database node connects / disconnects a
database. Connected databases show the lists of system tables and user
tables. These lists are populated on-demand, when the collection nodes
are to be expanded. All access to the database (API calls) is performed
in a background thread.

The most interesting (as in different from current FlameRobin sources)
code can be found in src/hierarchy (DBH uses Boost smart pointers) and
in src/engine (multi-threaded API calls).

Tests of the code and comments are very welcome.

Thanks

--
Michael Hieke


..:: ::..:: ::..

No comments: