You can exchange read-only data between processes simply using fork(on Unix, without is simple on Windows), but this will not catch a “one-time change” (you will need to put an explicit way for each process to update its own copy). Native Python structures, such as dict, are simply not designed to work on arbitrary addresses in shared memory (you will have to code an option dictthat supports this in C), so they offer no consolation.
You can use Jython (or IronPython) to get a Python implementation with exactly the same multithreading capabilities as Java (or C #, respectively), including multiprocessing using multiple simultaneous threads.