title: Is this code thread safe by using threadDictionary?
body: <pre><code>+(NSString*)FromNumber:(NSNumber*)number
  {
      NSString *key = akey;
      NSNumberFormatter *numberFormatter = [[[NSThread currentThread] threadDictionary] objectForKey:key];
      if(!numberFormatter)
      {
          numberFormatter = [self getDecimalNumberFormatterWithDigits:2];
          [numberFormatter setFormatterBehavior:NSNumberFormatterPercentStyle];
  
          [numberFormatter setNegativeSuffix:@"%"];
          [numberFormatter setPositiveSuffix:@"%"];
          [numberFormatter setNilSymbol:@""];
          [numberFormatter setLocale:[ISMDateUtilities enUSPosixLocale]];
  
          [[[NSThread currentThread] threadDictionary] setValue:numberFormatter forKey:key];
      }
      return [numberFormatter stringForObjectValue:number];
  }
  </code></pre>
  
  <p>What I am curious is use of <code>threadDictionary</code> to synchronize a block of code? </p>
  
  <p>Thanks!</p>