我试图在脚本中更改线程优先级,但没有成功,这里是详细信息。更改线程优先级ERROR_INVALID_HANDLE
$thr = threads->new(\&someFunction,
$shared variable 1,
$shared variable 2,
);
我试过使用threads::State
;
$thr->priority(2);
没有成功
所以,我认为Win32::API
必须努力
my $functionGetLastError= Win32::API->new('Kernel32',
'GetLastError',
'',
'N'
);
my $functionSetThreadPriority= Win32::API->new('Kernel32',
'SetThreadPriority',
'II', # I've tried 'PI' and 'II' as well
'N'
);
my $h = $thr->_handle();
my $success = $functionSetThreadPriority->Call($h, 2);
warn "Return Error #".$functionGetLastError->Call() if !$success;
再次,没有成功:(,但现在我有一个线索,该脚本返回错误号
最后错误6
从MSDN site, System Error Codes (0-499),似乎错误是
ERROR_INVALID_HANDLE
我在做什么错?
参见[什么样的线程是Perl的线程?](http://perldoc.perl.org/perlthrtut.html#What-kind-of-threads-are-Perl-threads%3f)在文档。 – choroba 2014-12-03 13:37:27