perl裏沒有內置的結構體,所以就需要用hash數組來模擬。
比如想定義一個含有name和address的結構,那麼申請一個含有key是name和address的hash數組就可以了。
但是我在試圖將這個結構放入隊列時,卻會出現問題,Thread::queue或者將內置的數組作爲隊列使用都會有問題。
使用一個叫FreezeThaw的module就可以了。
use FreezeThaw(freeze thaw);
my $queue=Thread::Queue->new();//建立一個隊列
my %hash=(name=>"sdcyzjq",address=>"beijing");//申請一個hash數組
my $freezed=freeze %hash;//將hash數組freeze成一個string
$queue->enqueue($freezed);//入隊
my $temp=$queue->dequeue();//出隊
my %hash_thawed=thaw $temp;//解凍成原來的hash數組