in reply to Re: Should I use threads? Perl/DHCP/Radius
in thread Should I use threads? Perl/DHCP/Radius
The only thing I would add, to yours and BrowserUk's solutions, would be to add an eventloop system in your main program, which can utilize timers to check shared variables on a regular schedule, and do what needs to be done.
This is completely and utterly useless advice. There is absolutely no advantage to using an event loop in the main thread for this.
If there was a requirement to "have the timer in the main program loop do periodic checking of the hash.", that is trivial:
my @maclist = qw ( 7D:6D:62:C6:B4:3D 01:12:79:3E:14:2E 80:27:E4:EA:60:74 E8:06:88:7F:8C:83 01:26:08:E8:B6:5D 34:15:9E:5D:E6:49 03:1E:64:CE:25:88 01:0C:29:3F:67:1B 01:22:69:76:5D:F4 64:B9:E8:10:BF:20 01:1D:FE:D4:7F:E0 ); my @threads; foreach my $mac (@maclist){ push @threads, threads->create( \&doit, $mac ); } while( sleep 1 ) { ## check %clients and do things. } $_->join for @threads;
Recommending the addition of huge, monocultural behemoths like POE or GTK2+glib solely to respond to artificial events generated by a timer is asinine. Like hiring a chainsaw to trim your toenails.
You seem to be suffering from the 'When you have a lumphammer' syndrome.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Should I use threads? Perl/DHCP/Radius
by zentara (Cardinal) on Aug 24, 2010 at 12:03 UTC | |
by BrowserUk (Patriarch) on Aug 24, 2010 at 12:32 UTC | |
by zentara (Cardinal) on Aug 24, 2010 at 12:36 UTC | |
|
Re^3: Should I use threads? Perl/DHCP/Radius
by MonkeyMonk (Sexton) on Aug 24, 2010 at 13:42 UTC | |
by BrowserUk (Patriarch) on Aug 24, 2010 at 13:59 UTC | |
by zentara (Cardinal) on Aug 25, 2010 at 14:32 UTC | |
by BrowserUk (Patriarch) on Aug 25, 2010 at 14:38 UTC | |
by zentara (Cardinal) on Aug 25, 2010 at 14:45 UTC | |
|