What does threadsafe mean?

Eric Lippert has a nice blog post entitled What is this thing you call “thread safe”? about the definition of thread safety as found of Wikipedia. 3 important things extracted from the links : “A piece of code is thread-safe if it functions correctly during simultaneous execution by multiple threads.” “In particular, it must satisfy the need for … Read more

Why doesn’t JavaScript support multithreading?

JavaScript does not support multi-threading because the JavaScript interpreter in the browser is a single thread (AFAIK). Even Google Chrome will not let a single web page’s JavaScript run concurrently because this would cause massive concurrency issues in existing web pages. All Chrome does is separate multiple components (different tabs, plug-ins, etcetera) into separate processes, … Read more

PyQt is thread-safe to the same extent that Qt is thread-safe. The Qt docs will tell you which parts of their API are guaranteed to be so, and under what circumstances.

Cross-thread signals are thread-safe, so calling the updatePB method in your example is okay. Your ConnDisconn method is not thread-safe, but that has got nothing to do with PyQt or Qt – it’s just a consequence of how you wrote it. The serialEnabled attribute could be read/written by two threads simultaneously, so the behaviour is strictly undefined. A thread-safe way of … Read more

Why does PyQt crashes without information? (exit code 0xC0000409)

PyQt is thread-safe to the same extent that Qt is thread-safe. The Qt docs will tell you which parts of their API are guaranteed to be so, and under what circumstances. Cross-thread signals are thread-safe, so calling the updatePB method in your example is okay. Your ConnDisconn method is not thread-safe, but that has got nothing to do with … Read more

Proper use of mutexes in Python

I don’t know why you’re using the Window’s Mutex instead of Python’s. Using the Python methods, this is pretty simple: But note, because of the architecture of CPython (namely the Global Interpreter Lock) you’ll effectively only have one thread running at a time anyway–this is fine if a number of them are I/O bound, although … Read more

Is there any way to kill a Thread?

It is generally a bad pattern to kill a thread abruptly, in Python, and in any language. Think of the following cases: the thread is holding a critical resource that must be closed properly the thread has created several other threads that must be killed as well. The nice way of handling this, if you … Read more