Why the magnitude of member of RunAction did not change?

I do a simulation using G4, in the simulation, the member “Counter” of RunAciton is used to score step number in the simulation, the code is:
private:
G4int Counter;
the function in the RunAction is used to count the step number, the code is:
void fpRunAction::Get_Counter()
{
Counter+=1;
}

then using this function in SteppingAtion::UserSteppingAction, the code is:
void fpSteppingAction::UserSteppingAction(const G4Step* step)
{
fRunAction->Get_Counter();

when using G4MTRunManager, the magnitude of “Counter” in RunAciton::EndOfRunAction is 0, but using G4RunManager, the magnitude of “Counter” is ok, why?
the code is:
void fpRunAction::EndOfRunAction(const G4Run* run)
{
if (IsMaster()) {
G4cout
<< G4endl
<< “--------------------End of Global Run-----------------------”
<<G4endl;

ofile5<<Counter<<G4endl;