我想通过代理发送电子邮件.
我目前的实施如下:
我通过身份验证连接到smtp服务器.我成功登录后,发送电子邮件.它工作正常,但当我看到电子邮件标题时,我可以看到我的主机名.我想通过代理隧道它.
任何帮助将受到高度赞赏.
我正在努力完成以下任务:
有一个线程从一个非常大的文件读取大约10GB的数据并将它们推入队列.(我不希望队列变得非常大)
当buildQueue线程将数据推送到队列的同时,大约有5个工作线程将排队并处理数据.
我做了一次尝试,但由于我的线程中有一个连续的循环,我的其他线程无法访问buildQueue.
我的做法可能完全错了.感谢您的帮助,非常感谢.
这是以下代码buildQueue:
sub buildQueue {
print "Enter a file name: ";
my $dict_path = <STDIN>;
chomp($dict_path);
open DICT_FILE, $dict_path or die("Sorry, could not open file!");
while (1) {
if (<DICT_FILE>) {
if ($queue->pending() < 100) {
my $query = <DICT_FILE>;
chomp($query);
$queue->enqueue($query);
my $count = $queue->pending();
print "Queue Size: $count Query: $query\n";
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如我所预料的那样,当执行此线程之后,其他任何事情都将被执行,因为这个线程将无法完成.
my $builder = new Thread(&buildQueue);
Run Code Online (Sandbox Code Playgroud)
由于构建器线程将运行很长一段时间,我永远不会创建工作线程.
这是整个代码:
#!/usr/bin/perl -w
use strict;
use Thread; …Run Code Online (Sandbox Code Playgroud) 我有以下表格:
MOVIE_ID 标题
---------- -----------------------------
1 肖申克的救赎
2 教父
3 教父:第二部分
4 黑暗骑士
5 低俗小说
6 善、恶、丑
7 辛德勒的名单
8 愤怒的人
9 搏击俱乐部
10 起始
11 阿甘正传
DIRECTOR_ID 名称
----------- -------------------------
1 蒂姆·罗宾斯
2 摩根·弗里曼
3 马龙·白兰度
4 阿尔·帕基诺
5 罗伯特·德尼罗
6 克里斯蒂安·贝尔
7 希斯·莱杰
8 约翰·特拉沃拉
9 乌玛·瑟曼
10 克林特·伊斯特伍德
11 伊莱·瓦拉赫
MOVIE_ID DIRECTOR_ID
---------- -----------
1 1
1 2
2 3
2 4
3 4
3 5
4 6
4 7
5 8
5 9 …