title: Future Method is not updating value of a field
body: <p>I want to implement synchronization in salesforce using apex.</p>
  
  <p>My Requirement is that, i have to update a field from the future method.</p>
  
  <p>I have a field in database with name Counter_<em>c and i am calling a method that method will call 3 future method. Those future method will try to increment value of counter</em>_c by 1. But field is not getting update.</p>
  
  <p>Here is my code:</p>
  
  <p>public void generateReports() {</p>
  
  <pre><code>  ReportHistory__c repHst = new ReportHistory__c();
    repHst.Counter__c = 0;
    insert repHst;
  
    generateReport1(repHst.Id);
    generateReport2(repHst.Id);
    generateReport3(repHst.Id);
  </code></pre>
  
  <p>}</p>
  
  <pre><code>@future
  public static void generateReport1(Id id) {
  
  List&lt;ReportHistory__c&gt; lstRep = [select Counter__c rom ReportHistory__c where Id = :id];
       if(!lstRep.isEmpty()) {
          ++lstRep[0].Counter__c;
       }
       update lstRep;
  }
  
  
  @future
  public static void generateReport2(Id id) {
  
  List&lt;ReportHistory__c&gt; lstRep = [select Counter__c rom ReportHistory__c where Id = :id];
       if(!lstRep.isEmpty()) {
          ++lstRep[0].Counter__c;
       }
       update lstRep;
  }
  
  
  @future
  public static void generateReport3(Id id) {
  
  List&lt;ReportHistory__c&gt; lstRep = [select Counter__c rom ReportHistory__c where Id = :id];
       if(!lstRep.isEmpty()) {
          ++lstRep[0].Counter__c;
       }
       update lstRep;
  }
  </code></pre>
  
  <p>After executing above code i want Counter__c should be 3. But its still 0 or sometime its 1.</p>
  
  <p>Please help me, if there is any way so that i can control future call so that every future call should update value of Counter__c by 1.</p>
  
  <p>Thanks,
  Vivek</p>