Currently most computers have multi-core processors, so multi-threaded programming has become a reality and a necessity to optimize the performance of modern applications. In this topic you will find articles related to the programming of multitasking applications.
-
04/09/2017
With this article begins a series in which I will review the basic mechanisms provided by the .NET Framework for the implementation of multitasking applications. First of all I will show the basic classes that allow you to launch multiple processes and make a performance comparison between them.
[Read More...] -
19/09/2017
After reviewing the classes to implement the basic multitasking, in this article I will review different mechanisms that allow a synchronization between various tasks, all of them defined in the System.Threading namespace, with which you can organize the work when the Interactions between tasks require a particular order.
[Read More...] -
05/11/2017
In multitasking applications there is a problem when concurrent access to resources, such as files or memory, when you launch several tasks at once. Two tasks cannot write at the same time in the same memory address, it is required to make sure that some data is not modified while we are reading them or things like that. In this article I will review the tools provided by .NET Framework to deal with these issues.
[Read More...] -
18/11/2017
So far I have shown examples of multitasking that block the application until they finished. This is not very useful in practice. Usually, we want that the user can continue interacting with the application while the tasks are running in the background; we could want also the threads to interact with the user interface.
[Read More...] -
02/12/2017
To conclude this series about programming multitasking applications, I will show the use of a simple mechanism that allows implementing asynchronous methods whose waiting times are used for the execution of other parallel tasks or events triggered by user interface controls.
[Read More...] -
25/02/2022
All massive data processing applications can benefit from the ever-increasing processing capacity of modern computers, which is now affordable for anyone's pocket. I will show in this article a basic performance comparison among various CPU / GPU platforms, based on the well-known Mandelbrot set and its surprising graphical representation.
[Read More...]