Schrift
[thread]8183[/thread]

threads für funktion?



<< >> 1 Eintrag, 1 Seite
oblivion
 2006-07-19 21:16
#68275 #68275
User since
2006-01-17
24 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

meine Erfahrungen mit Perl sind noch nicht allzu groß und nun schlage ich mich seit geraumer Zeit mit threads rum. Wo wir auch schon gleich bei meiner Frage wären:

gibt es eine Möglichkeit Funktionen zu threaden?

Beispiel:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#! /usr/bin/perl -w
use strict
use Win32::OLE('in');
use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;
use threads;
use threads::shared;

@hosts = @ARGV;

@hosts : shared = @hosts;
threads->create(sub {

sub get_proto {

foreach $computer (@hosts)
{

$objWMIService = Win32::OLE->GetObject
("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n";
$colItems = $objWMIService->ExecQuery
("SELECT * FROM Win32_NetworkProtocol","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly);

foreach my $objItem (in $colItems)
{
print "Caption: $objItem->{Caption}\n";
print "Connectionless Service: $objItem->{ConnectionlessService}\n";
print "Description: $objItem->{Description}\n";
print "Guarantees Delivery: $objItem->{GuaranteesDelivery}\n";
print "Guarantees Sequencing: $objItem->{GuaranteesSequencing}\n";
print "Install Date: $objItem->{InstallDate}\n";
print "Maximum Address Size: $objItem->{MaximumAddressSize}\n";
print "Maximum Message Size: $objItem->{MaximumMessageSize}\n";
print "Message Oriented: $objItem->{MessageOriented}\n";
print "Minimum Address Size: $objItem->{MinimumAddressSize}\n";
print "Name: $objItem->{Name}\n";
print "Pseudo-Stream Oriented: $objItem->{PseudoStreamOriented}\n";
print "Status: $objItem->{Status}\n";
print "Supports Broadcasting: $objItem->{SupportsBroadcasting}\n";
print "Supports Connect Data: $objItem->{SupportsConnectData}\n";
print "Supports Disconnect Data: $objItem->{SupportsDisconnectData}\n";
print "Supports Encryption: $objItem->{SupportsEncryption}\n";
print "Supports Expedited Data: $objItem->{SupportsExpeditedData}\n";
print "Supports Fragmentation: $objItem->{SupportsFragmentation}\n";
print "Supports Graceful Closing: $objItem->{SupportsGracefulClosing}\n";
print "Supports Guaranteed Bandwidth: $objItem->{SupportsGuaranteedBandwidth}\n";
print "Supports Multicasting: $objItem->{SupportsMulticasting}\n";
print "Supports Quality of Service: $objItem->{SupportsQualityofService}\n";
print "\n";
}

}

}
} )->join # ENDE THREAD


ich übergebe normalerweise mehrere Rechner und habe im Code viele Funktionen, die ich gerne threaden möchte. Mit einzelnen Variablen ist es mir gelungen, aber hier bin ich wirklich überfragt

Danke schonmal im voraus

Oblivion
<< >> 1 Eintrag, 1 Seite



View all threads created 2006-07-19 21:16.