ThreadWeaver

Last updated
ThreadWeaver
KDE mascot Konqi for hardware related applications.png
Original author(s) Mirko Boehm
Developer(s) Mirko Boehm
Stable release 5.46.0 (May 12, 2018;5 days ago (2018-05-12)) [±] [1]
Preview release 5.0 beta 3 (June 5, 2014;3 years ago (2014-06-05)) [±] [2]
Operating system Linux, other Unix and Unix-like systems, Windows
Type System library multithreaded library
License LGPL
Website api.kde.org/frameworks-api/frameworks5-apidocs/threadweaver/html/index.html

ThreadWeaver is a system library initially developed for KDE Software Compilation 4 [3] and later refactored for KDE Frameworks 5. [4]

Library (computing) collection of non-volatile resources used by computer programs, often to develop software; software component that can be reused by other software for a specific purpose

In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subroutines, classes, values or type specifications. In IBM's OS/360 and its successors they are referred to as partitioned data sets.

KDE Software Compilation 4

KDE Software Compilation 4 was the only series of the so-called KDE Software Compilation, first released in January 2008 and the last release being 4.14.3 released in November 2014. It was the follow-up to K Desktop Environment 3. Following KDE SC 4, the compilation was broken up into basic framework libraries, desktop environment and applications, which are termed KDE Frameworks 5, KDE Plasma 5 and KDE Applications, respectively.

ThreadWeaver allows developers to easily take advantage of multi-core processors and multithreading. In ThreadWeaver the workload is divided into individual jobs, then relationship between jobs (what order they should be completed or which has a higher priority); from that ThreadWeaver will work out the most efficient way to execute them. Krita has implemented visual filter previews using ThreadWeaver to prevent GUI lockups.

Multi-core processor computing component

A multi-core processor is a single computing component with two or more independent processing units called cores, which read and execute program instructions. The instructions are ordinary CPU instructions but the single processor can run multiple instructions on separate cores at the same time, increasing overall speed for programs amenable to parallel computing. Manufacturers typically integrate the cores onto a single integrated circuit die or onto multiple dies in a single chip package. The microprocessors currently used in almost all personal computers are multi-core.

Thread (computing) smallest sequence of programmed instructions that can be managed independently by a scheduler

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. The implementation of threads and processes differs between operating systems, but in most cases a thread is a component of a process. Multiple threads can exist within one process, executing concurrently and sharing resources such as memory, while different processes do not share these resources. In particular, the threads of a process share its executable code and the values of its dynamically allocated variables and non-thread-local global variables at any given time.

Krita digital painting software

Krita is a free and open-source raster graphics editor using the Qt visual toolkit and designed primarily for digital painting and animation purposes. It features a low-distract UI, high-quality OpenGL accelerated canvas, colour management support, advanced brush engine, non-destructive layers and masks, group-based layer management, vector artwork support and switchable customisation profiles. It runs on Linux, Microsoft Windows, and macOS.

Related Research Articles

Qt (software) Object-oriented framework for GUI creation

Qt is a free and open-source widget toolkit for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed. Qt is currently being developed by The Qt Company, a publicly listed company, and the Qt Project under open-source governance, involving individual developers and organizations working to advance Qt. Qt is available under both commercial licenses and open source GPL 2.0, GPL 3.0, and LGPL 3.0 licenses.

Konsole terminal emulator which is part of KDE

Konsole is a free and open-source terminal emulator which is part of KDE Applications. Konsole was originally written by Lars Doelle.

KIO

KIO is a system library incorporated into KDE Frameworks 5 and KDE Software Compilation 4. It provides access to files, web sites and other resources through a single consistent API. Applications, such as Konqueror and Dolphin, which are written using this framework, can operate on files stored on remote servers in exactly the same way as they operate on those stored locally, effectively making KDE network-transparent. This allows for an application like Konqueror to be both a file manager as well as a web browser.

Kate (text editor) Text editor

The KDE Advanced Text Editor (Kate) is a text editor developed by the KDE free software community. It has been a part of KDE Software Compilation since version 2.2, which was first released in 2001. Intended for software developers, it features syntax highlighting, code folding, customizable layouts, regular expression support, and extensibility.

Amarok (software) cross-platform free and open source music player

Amarok is a cross-platform free and open-source music player. Although Amarok is part of the KDE project, it is released independently of the central KDE Software Compilation release cycle. Amarok is released under the terms of the GNU General Public License version 2.

KolourPaint free simple drawing application

KolourPaint is a free and open-source raster graphics editor by KDE. It is similar to Microsoft Paint before the version shipped with Windows 7, but has some additional features such as support for transparency, color balance and image rotation.

Gwenview image viewer software for KDE

Gwenview is an image viewer for Unix-like systems and is released as part of the KDE Applications bundle. The current maintainer is Aurélien Gâteau. The word "Gwen" means "white" in the Breton language and is commonly used as a first name.

Phonon (software)

Phonon is the multimedia API provided by KDE and is the standard abstraction for handling multimedia streams within KDE software and also used by several Qt applications.

KDE Platform 4

KDE Platform 4 is a collection of libraries and software frameworks by KDE that serve as technological foundation for KDE Software Compilation 4 distributed under the GNU Lesser General Public License (LGPL). KDE Platform 4 is the successor to KDElibs and the predecessor of KDE Frameworks 5. KDE Platform 4 is the only version of KDE Platform, see KDE’s brand repositioning.

Kross is a scripting framework for KDE Frameworks. Originally Kross was designed for use in KOffice but eventually became the official scripting framework in KDE Software Compilation 4. Kross is designed to provide full scripting power for users of KDE applications, with a language of their own choice; and make it easy for developers targeting the KDE platform to enable their application with support for multiple scripting languages.

Dolphin (file manager) file manager

Dolphin is a free and open source file manager included in the KDE Applications bundle which contains applications used primarily with the KDE Plasma 5 desktop. Dolphin became the default file manager of KDE-based desktop environments in the fourth iteration, termed KDE Software Compilation 4. It could also be optionally installed on K Desktop Environment 3. Konqueror was replaced as the default file manager for KDE SC 4, but is still the default web browser and can be used as an alternative file manager for power users.

Kdenlive Non linear video editing software

Kdenlive(KDE Non-Linear Video Editor) is a free and open-source video editing software based on the MLT Framework, KDE and Qt. The project was started by Jason Wood in 2002, and is now maintained by a small team of developers.

Sonnet is a multilingual spell checker program in KDE Frameworks 5 and KDE Software Compilation 4. Sonnet replaced kspell2 that was created for KDE3. The two main goals for Sonnet's development were a simpler API, wider language support and performance. Notable improvements in Sonnet over kspell2 are

KJS is KDE's ECMAScript-JavaScript engine that was originally developed for the KDE project's Konqueror web browser by Harri Porten in 2000.

KDE Frameworks libraries and software frameworks

KDE Frameworks is a collection of libraries and software frameworks by KDE that serve as technological foundation for KDE Plasma 5 and KDE Applications distributed under the GNU Lesser General Public License (LGPL).

KDE Plasma 5 desktop environment

KDE Plasma 5 is the fifth and current generation of the graphical workspaces environment created by KDE primarily for Linux systems. KDE Plasma 5 is the successor of KDE Plasma 4 and was first released on 15 July 2014. It includes a new default theme, known as "Breeze", as well as increased convergence across different devices. The graphical interface was fully migrated to QML, which uses OpenGL for hardware acceleration, which resulted in better performance and reduced power consumption.

KDE Applications Bundle of applications and supporting libraries that are developed by the KDE community and shipped together

The KDE Applications Bundle is a set of applications and supporting libraries that are designed by the KDE community, primarily used on Linux based operating systems but mostly multiplatforms, and released on a common release schedule. Previously the KDE Applications Bundle was part of the KDE Software Compilation. The bundle is composed of over 100 applications and is in the process of being ported from KDE Platform 4 to KDE Frameworks 5. Examples of prominent applications in the bundle include the file manager Dolphin, document viewer Okular, text editor Kate, archiving tool Ark and terminal emulator Konsole.

KDE Projects

KDE Projects refers to projects that are hosted on KDE's own git servers and developed by the KDE community, for example KDE Plasma, KDE Frameworks or applications such as Amarok, Krita or Digikam. There is also non-coding work like the Breeze desktop theme or the Oxygen iconset, which are coordinated by KDE's VisualDesignGroup. Also non-Qt applications like GCompris, which started as a GTK-based application, or pure web-based projects like WikiToLearn are now part of the growing list of KDE Projects.

References

  1. "Release of KDE Frameworks 5.46.0". KDE. 12 May 2018. Retrieved 12 May 2018.
  2. "KDE Ships Third Beta of Frameworks 5". KDE. 2014-06-05.
  3. "kdelibs API Reference" . Retrieved 2017-01-02.
  4. "ThreadWeaver in KDE Frameworks 5" . Retrieved 2015-05-13.

Further reading

International Standard Book Number Unique numeric book identifier

The International Standard Book Number (ISBN) is a numeric commercial book identifier which is intended to be unique. Publishers purchase ISBNs from an affiliate of the International ISBN Agency.