title: Why is there no execution time difference between multithreading and singlethreading
body: <p>I am trying to learn python language and it's concept. I wrote some code to play with multithreading. But i notice that there is no execution time difference between multi and single threading.</p>
  
  <p>The machine which is to run script has 4 core/thread. </p>
  
  <pre><code> def get_tokens(file_name,map):
      print(file_name)
      counter = 0
      with open(file_name,'r',encoding='utf-8-sig') as f:
          for line in f:
              item = json.loads(line,encoding='utf-8')
              if 'spot' in item and item['sid'] == 4663:
                  counter+=1
                  if counter == 500:
                      break
                  tokens = nltk.word_tokenize(item['spot'],language='english')
                  for token in tokens:
                      if token not in map:
                          map[token] = 1
                      else:
                          map[token] = map[token] + 1;
  
   start_time = time.time()
   map = dict();
   with ThreadPoolExecutor(max_workers=3) as executor:
      for file in FileProcessing.get_files_in_directory('D:\\Raw Data'):
          future = executor.submit(FileProcessing.get_tokens, file, map)
  
   end_time = time.time()
   print("Elapsed time was %g seconds" % (end_time - start_time))
  </code></pre>
  
  <p>Each file's size in the <strong>Raw Data</strong> is bigger than 25 mb. So i think must be difference between them. But there is not. Why ? Am i doing a mistake in code or multihreading concept ?</p>