title: Pickle object : multithreading safe?
body: <p>I am using Python3.5.1, with threading module.</p>
  
  <p>I saw lot's of Questions about writing in dictionary and Pickle file from several threads safely. In my case I want to read it and the question is:</p>
  
  <p>Can I load (safely) a pickle file several times at the same time ?</p>
  
  <p>Pseudo-Code:</p>
  
  <pre><code>import sys    
  import threading
  import pickle
  
  def function_1( pickle_file, arg_blue ):
      my_dic = pickle.load( open( pickle_file, "rb" ) )
      # process my_dic with arg_blue
  
  def function_2( pickle_file, arg_red ):
      my_dic = pickle.load( open( pickle_file, "rb" ) )
      # process my_dic with arg_red
  
  def main( pickle_file, arg_blue, arg_red ):
      # Using two threads to call function_1 and function_2 at the same time.
      # Function 1 and function 2 will not exchange data. Is it better to use multiprocess module ?
  
      # thread_blue will run function_1
      # thread_red will run function_2
      # Each of them will write in a distinct output
  
  if __name__ == "__main__":
      main( sys.argv[1], sys.argv[2], sys.argv[3] )
  </code></pre>
  
  <p>Call of the script:</p>
  
  <pre><code>python3.5 my_script.py my_pickle_file.p blue red
  </code></pre>
  
  <p>Any suggestion or commentary will be highly appreciated !</p>