From Free Software Directory
Jump to: navigation, search

Reviews: 0 ... further results.


An innovative open-source software for multi-thread computing

ThreadStack is an outcome of the scientific research study that is carried out by Erkam Murat Bozkurt about meta-programming. The software has been developed by Erkam Murat Bozkurt that lives in Istanbul / TURKEY. He has graduated from Istanbul Technical University ( ITU ) Control Systems Engineriing division with M.Sc degree. The main purpose of the research study is to develop an easy and efficient way to develop multi-threaded C++ programs.

Basically, ThreadStack is an innovative open-source software which produces an application specific class library for C++ multi-thread programming and the library constructed by ThreadStack acts as an autonomous management system for the thread synchronization tasks. ThreadStack offers a new way for multi-thread computing and the idea of ThreadStack is to use another software ( a meta-program ) in order to reduce the complexity of multi-thread programming.

Actually, ThreadStack is not a threading library. Instead, it is a multi-threading library generator and in each library construction process, it produces a new “application specific multithreading library” relying on the programmer needs. In each time, the programmers enters their preferences to the threadstack and a meta program produces a new threading library based on the information that is given by the programmers. Not surprisingly, the application specific library which is generated by the threadstack has much more powerful tools according to standard threading libraries. For instance, it provides autonomous thread management. In below, it has been explained briefly why the threadstack produces an application specific library.

The biggest problem on thread programming is non-deterministic scheduling of the threads. Different runs of a multi-threaded program may show different behaviour depending on how the threads interleave. It plays a crucial role on the deadlocks as well. However, the scheduling of the threads are determined by the operating system. Different from standard threading libraries such as C++ threads, in threadstack, the programmer can determine how the threads interleave thanks to its autonomous management system.

More specificaly, In threadstack, the programmer can control the threads by means of their unique numbers and the interaction between the threads are completely determined by the programmer. The programmer can determine which thread will be blocked by which thread and how and in which place the threads will be rescued later on. In other words, the user of the ThreadStack can directly schedule the execution of the threads. Moreover, the synchronization tools of the ThreadStack provides absolute deadlock protection if the program is written carefully ( the synchronization tools know which thread is under blockage and how the thread blocked will be activated later on) .

ThreadStack has a nice and useful graphical user interface and includes a short tutorial and code examples. The tutorial and code examples can be also dowloaded from project web site (from files section). The tutorial includes the main designs of the program and therefore, the programmer must read the tutorial to be able to use the software.

The copyright application for the ThreadStack sofware has been performed in 12 March 2018 to US copyright office and the sofware is ready to use. ThreadStack has been licenced with GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.



Verified by

Verified on


Verified by


Verified on

26 June 2018

Leaders and contributors

Erkam Murat Bozkurt (Erkam murat)Developer of the ThreadStack Project

Resources and communication

AudienceResource typeURI

Software prerequisites

{{{Prerequisite description}}}


Property "Submitted by" (as page type) with input value "{{{Submitted by}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
"{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.

"Developer of the ThreadStack Project" is not in the list (Maintainer, Contributor, Developer, Sponsor, Unknown) of allowed values for the "Role" property.

"{{{Prerequisite kind}}}" is not in the list (Required to use, Required to build, Source requirement, Weak prerequisite) of allowed values for the "Prerequisite kind" property.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.