Five ways to insert concurrency to a program written in C#
Article Sidebar
Open full text
Issue Vol. 6 (2018)
-
Comparison of web applications development using Spring MVC and Vaadin
Łukasz Tomczyk, Beata Pańczyk1-5
-
Comparison of web application development using PHP and Magento platforms
Bartosz Drawdzik, Maria Skublewska-Paszkowska6-11
-
An analysis of influence of safe programming techniques on applications efficiency and security
Tomasz Kobiałka12-19
-
The use of eye-tracking methods for evaluation of responsive web application
Dariusz Meksuła, Konrad Mikołajczyk, Małgorzata Plechawska-Wójcik, Magdalena Borys20-27
-
Efficiency comparison of mobile application frameworks for programming using internet technologies
Marcin Martyna, Jakub Smołka28-33
-
Analysis of user behavior and authorization methods in context of mobile devices security
Piotr Król, Damian Marek, Jakub Smołka34-41
-
Comparison of the configuration and capabilities of ORM libraries for Android
Tomasz Serwin42-46
-
Comparative analysis of selected skeletons for dependency injection
Rafał Szewczyk, Małgorzata Plechawska-Wójcik47-54
-
Comparison of GTK+ and Qt libraries in game development
Kamil Drzas, Dominik Alchimowicz, Maciej Pańczyk55-58
-
Blockchain technology and its application
Hlib Dikariev, Marek Miłosz59-61
-
Five ways to insert concurrency to a program written in C#
Paweł Szyszko, Jakub Smołka62-67
-
Analysis of the impact of development tools used on the performance of the mobile application
Paweł Kotarski, Kacper Śledź, Jakub Smołka68-72
-
Comparative analysis of online tools for management and communication in IT projects
Łukasz Naumiuk, Elżbieta Miłosz73-76
-
Performance comparison of an emulator and physical Android mobile device based on chess algorithm
Kamil Litkowski, Jakub Smołka77-81
-
Comparison of AngularJS and React.js frameworks based on a web application
Łukasz Capała, Maria Skublewska-Paszkowska82-86
-
Comparison of performance multi-platform application core on Android and Windows 10 Mobile.
Dawid Wieczorek, Jakub Smołka87-91
-
Comparison of capabilities to implement REST services in Java language using the popular web application frameworks.
Rafał Kwiatkowski, Piotr Kopniak92-96
-
ASP.NET MVC database applications performance
Paweł Borys, Beata Pańczyk97-101
Main Article Content
DOI
Authors
Abstract
Nowadays processors working in personal computers and mobile devices allow for more and more effective parallel computing. Developers have at their disposal many different methods of implementing concurrency, but usually use the one, that they now best. It is beneficial to know, when a particular technique is good and when it is better to find an alternative. This paper presents different ways of implementing parallel mathematical calculations using threads, tasks, thread pool, task pool and parallel for loop. Each method was used in a C# application running on Windows Presentation Foundation engine on .NET platform. Implemented operation is calculation value of Pi using Leibnitz’s formula.
Keywords:
References
[2] Bugnion Laurent: MVVM : Multithreading and Dispatching in MVVM Applications. MSDN Magazine, 2014.
[3] Choudhury Olivia i inni: Balancing Thread-Level and Task-Level Parallelism for Data-Intensive Workloads on Clusters and Clouds. IEEE International Conference on Cluster Computing, 2015.
[4] Jin Jiangming, Zhang Yang, Tang Shanjiang, Fan Hongfei: Performance Modeling and Analysis for Critical Section Contention in Parallel Codes. IEEE
Trustcom/BigDataSE/ISPA, 2016.
[5] Lee Jiyeon, Chwa Hoon Sung, Lee Jinkyu, Shin Insik: Thread-level priority assignment in global multiprocessor scheduling for DAG tasks. Journal of
Systems and Software, 2016.
[6] Nowak Robert Współdzielenie obiektów w aplikacjach współbieżnych. Software Developers Journal 2010
[7] Paolieri Marco i inni: A Software-Pipelined Approach to Multicore Execution of Timing Predictable Multithreaded Hard Real-Time Tasks. 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, 2011.
[8] Schubring Tadeusz: Algorytmy równoległe w języku programowania C#. TTS Technika Transportu Szynowego, 2016.
[9] Schwan K., Zhou H.: Dynamic scheduling of hard realtime tasks and real-time threads. IEEE Transactions on Software Engineering, 1992.
[10]Smoliński Mateusz: Elimination of task starvation in conflictless scheduling concept. Information Systems in
Management vol. 5 (2) 2016, 237−247.
[11]Tousimojarad Ashkan i inni: Number of Tasks, not Threads, is Key. 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, 2015.
[12]Warczak Mateusz i inni: Programowanie równoległe i asynchroniczne w C# 5.0. Wydawnictwo Helion, 2014.
[13]Wirth Niklaus: Tasks versus Threads: An Alternative Multiprocessing Paradigm. Springer-Verlag 1996.
Article Details
Abstract views: 294
License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
