Threading is a basic tool for tackling certain classes of problems within *any* programming task. Almost any program could utilise threading; it is just a case of whether there is any benefits from doing so; and whether those benefits are worth the effort required.
There are two basic problems that threading can potentially be usefully used to solve:
Within those two categories, could fall just about every program that has or will be ever written.
The difficult part of threading using Perl, is adapting to its particular strengths and weaknesses.
It doesn't get much simpler than async{ #do stuff };
Accidental sharing is (almost) impossible, which makes many of the caveats usually applicable to threading null & void.
This can be seen as a strength: It quickly discourages naive programmers from "throwing threads at everything". A common trait amongst programmers new to languages that expose threading to them.
Again, this can be viewed as a strength in that it makes people think about only sharing what needs to be shared; rather sharing everythng and tying themselves in knots with elaborate and often, equally slow, locking and syncing mechanisms.
could you recommend a number of useful programming applications of threaded PERL that I could get to work on for this purpose ?
In a nutshull; no.
The problem with answering your question directly, is that it is analogous to asking how to use a frying pan: there are so many different ways of using them, picking out one or a few recipes (programs) that can make use of them is of little value. In every one of those cases, another pot could be substituted for the frying pan without having any major affect on the outcome of the recipe; and the list would necessarily ignore many other ways --eg. cracking nuts -- that can make use of them.
In reply to Re: Threaded PERL: Practical Programming Excercises for Beginning Threaded Programming
by BrowserUk
in thread Threaded PERL: Practical Programming Excercises for Beginning Threaded Programming
by traiano
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |