What difference between @event and wait (event.triggered)?

In reply to dave_59:

Hi Dave,

I did an example based on the your explanation and on my understanding.But the outputs are not as expected.

class a;
event ev;

task trig;
->ev;
endtask

task execute1;
@(ev);
$display("Testing of the event @");
endtask

task execute2;
wait(ev.triggered);
$display("Testing of the event wait");
endtask

task ex1;
begin
trig;
execute1;
end
endtask

task ex2;
begin
execute1;
trig;
end
endtask

task ex3;
begin
trig;
execute2;
end
endtask

task ex4;
begin
execute2;
trig;
end 
endtask

endclass

program p_event;
a a_h;
initial begin
a_h = new();
a_h.ex4;//expected output : testing of the even wait. //Actual output: no display
a_h.ex3;//expected output : testing of the even wait. //Actual output: testing of the event wait
a_h.ex2;//expected output : testing of event @.//Actual output : no display
a_h.ex1;//expected output : no display.//Actual output : no display

end

endprogram

If anything wrong in my example or in my understanding please let me know.Any effective example would be helpful.

Thanks,
-Murali