multithreading

Python embedding with threads -- avoiding deadlocks?

Is there any way to embed python, allow callbacks from python to C++, allowing the Pythhon code to spawn threads, and avoiding deadlocks? The problem is this: To call into Python, I need to hold the GIL. Typically, I do this by getting the main thread state when I first create the interpreter, and then using PyEval_RestoreThread() to ...

Number of threads in a middleware application.

I am writing an application server (again, non-related with a question I already posted here) and I am wondering what are the strategies to use when creating worker threads that work on the database. Some preliminary dates: the server receives xml and sends back xml, all the requests query a database - each request could take a few milli...

Can I fire an event directly from BackgroundWorker's DoWork handler?

I'm using BackgroundWorker for the first time, and use is not entirely clear. Can I send events directly from the DoWork handler, or do I have to instead call ReportEvents and send the event from the ProgressChanged handler? ...

How can a background thread hang the UI thread?

I am using a background thread to initialize an instrument over USB. The UI hangs when I try to open the device. I would expect the background thread to pause when calling Open on the device, but not the UI thread. I am testing this with no UI interaction from the background thread. I don't know how to debug the problem, and it's too bro...

ReaderWriterLockSlim Extension Method Performance

I've been playing with collections and threading and came across the nifty extension methods people have created to ease the use of ReaderWriterLockSlim by allowing the IDisposable pattern. However, I believe I have come to realize that something in the implementation is a performance killer. I realize that extension methods are not sup...

How to prevent multiple dialogs to appear at the same time?

How can I avoid, that a dialog is shown, when there already is one on the screen? Details: In my application many Timers are running. If a fatal error occurs, all the affected threads are going to show a JDialog (by swingx.JXErrorPane.showDialog()), which is not desired. Even if I cancel all the running Timers, still some Dialogs will a...

Thread being aborded error (ASP.NET C#)

Hi, We have an application that can create e-books. This application has an export module that creates an AIR file but this can take a while (some books have 2500 pages). If we export we get the following error: Thread was being aborted. Description: An unhandled exception occurred during the execution of the current web request. Plea...

Threading vs Parallelism, how do they differ?

What is the difference between threading and parallelism? Which one has advantage over the other? ...

What's the opposite of "embarrassingly parallel"?

According to Wikipedia, an "embarrassingly parallel" problem is one for which little or no effort is required to separate the problem into a number of parallel tasks. Raytracing is often cited as an example because each ray can, in principle, be processed in parallel. Obviously, some problems are much harder to parallelize. Some may eve...

How do I implement task prioritization using an ExecutorService in Java 5?

I am implementing a thread pooling mechanism in which I'd like to execute tasks of varying priorities. I'd like to have a nice mechanism whereby I can submit a high priority task to the service and have it be scheduled before other tasks. The priority of the task is an intrinsic property of the task itself (whether I express that task ...

Threads vs Processes in Linux

I've recently heard a few people say that in Linux, it is almost always better to use processes instead of threads, since Linux is very efficient in handling processes, and because there are so many problems (such as locking) associated with threads. However, I am suspicious, because it seems like threads could give a pretty big perform...

Threading an unkown amount of threads in C#

I'm currently writing a sitemap generator that scrapes a site for urls and builds an xml sitemap. As most of the waiting is spent on requests to uri's I'm using threading, specifically the build in ThreadPool object. In order to let the main thread wait for the unknown amount of threads to complete I have implemented the following setup...

Is it bad to use class variables in a multithreaded app?

I inherited a project that needs to be mutithreaded. There is three major classes that get used in the worker threads. BASE CLASS - has an class level SqlDataAdapter and DataTable. INHERITED CLASS ONE - Uses the inherited SqlDataAdapter and DataTable. INHERITED CLASS TWO - Uses the inherited SqlDataAdapter and DataTable. Every thing s...

Python - Threading and a While True Loop

I have a thread that appends rows to self.output and a loop that runs until self.done is True (or the max execution time is reached). Is there a more efficient way to do this other than using a while loop that constantly checks to see if it's done. The while loop causes the CPU to spike to 100% while it's running.. time.clock() while ...

Threaded image-scaling sub still bogs down UI

I created an image-viewing control for my boss that incorporates panning, zooming via the mouse wheel, and drawing a box to zoom to. The control needs to support very large image files (i.e. several thousand pixels on each side). It all works, but whenever the code is scaling the image the control UI becomes unresponsive. My boss had ...

Invoke or BeginInvoke cannot be called on a control until the window handle has been created

I have a SafeInvoke Control extension method similar to the one Greg D discusses here (minus the IsHandleCreated check). I am calling it from a winform as follows: public void Show(string text) { label.SafeInvoke(()=>label.Text = text); this.Show(); this.Refresh(); } Sometimes (this call can come from a variety of threads...

.NET WPF MissingMethodException when launching new thread

I have a WPF application with a form that, when started, invokes a custom method in a new thread. Private Sub TestStep1_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded Dim oThread As New Thread(AddressOf DisplayNextPicture) oThread.Start() End Sub Private Sub DisplayNextPicture() ...

Is registering services/components on Castle Windsor thread-safe?

Is registering components on castle windsor thread-safe? I.e., can multiple threads simultaneously register components on the same container instance? (For the record, yes I am aware that doing so is probably insane.) ...

How to work with threads in pygtk

I have a problem with threads in pygtk. My application consist of a program that downloads pictures off the internet and then displays it with pygtk. The problem is that in order to do this and keep the GUI responsive, I need to use threads. So I got into a callback after the user clicked on the button "Download pictures" and I call th...

Looking for Modern Java Threading / Concurrent programming Book

I'm looking for a modern java threading book. I've quite enjoyed reading Taming Java Threads by Allen Holub, but it's a little old now. That was 8 years ago. I want the knowledge develop concurrent and industry standard multi-threading applications. Suggestions? Or even online resources? ...