Re : Threads, just a few questions



On 2003.04.17 16:13, Darko Obradovic wrote:
> Hi all,
> 
> I've always wondered what the threads-feature in balsa is about. As
> much as I know, threads are there to enable the processing of
> concurrent tasks. Furthermore, the only point where I would expect
> concurrency in a mail-client is to enable the creation of a new mails
> and browsing the folders at the same time. But balsa can do this
> without threads-support as well. :)
> After having disabled threads, I just don't get any feedback when
> calling POP3 or sending via SMTP. Are threads really needed to display
> these little popup-windows, which block the rest of balsa anyways?

In  fact threads are usefull especially when sending/checking mails. 
This can be long (eg I have a dialup connection) and during this time 
it is a bit annoying to be stuck waitin for the damn html spam of death 
to finish loading without being able to do anythin ;-) With threads you 
can go on reading mails (if the small dialog box bothers you you can 
just hide it).

> And then, there are the many problems I've seen with
> thread-implementation. the a-/pspell-dependency, maybe some
> gpgme-lib-problems, crashes on IMAP-folder-creation, ... If the
> feedback wouldn't have gone at all, I don't see any need for threads
> for my personal daily use, but I am aware of the fact, that I have no
> clue about the programming situation, so some enlightenment would be
> nice, and maybe some generic discussion for or agains threads in
> future versions, right now I'm not 100% happy with any of the choices.
> 

For the programmatic point of view it is far more complicated with 
threads ;-) Indeed you must have "locks" that protects datas that could 
be else accessed by several threads concurrently leading to data 
corruption. But then you have to take care of avoiding deadlocks (that 
is several threads taking locks so badly that one thread is blocking 
holding a lock and waiting for another thread that itself waits on the 
lock held by the previous thread.
Bye
Manu



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]