Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.348.747 Times

Parallel::ThreadContext 0.01

Company: Serge Tsafak
Date Added: September 23, 2013  |  Visits: 352

Parallel::ThreadContext

Report Broken Link
Printer Friendly Version


Product Homepage
Download (39 downloads)



This module provides a framework and some utilities for easy creation of multithreaded Perl programs.<br /> It introduces and uses the concept of context based concurrent threads. <br /> A context specifies a kind of name and work space for thread execution and consists of a queue + threads working on that queue + locks used by threads working on that queue.<br /> User can freely define as many contexts as he wants depending on its application logic e.g. 'prefetch', 'decode', 'execute', ...<br /> In each context threads are performing concurrent similar jobs on the same queue.<br /> All threads in the same context represent a thread group. Of course a group can consist of one thread only.<br /> Resources locked in one context do not affect other contexts.<br /><br />Features :<br /><br />version<br /><br /> return the current version information for this module<br /> <br /> arguments: none<br /> <br /> returns:<br /> version info of this module<br /><br />start<br /><br /> create and run a thread group to perform specific queue jobs <br /> all threads in the group will run the same code with different data and will share the same queue and same locks<br /> we say that they run in the same context.<br /> <br /> arguments:<br /> reference to code to be executed by each thread (mandatory)<br /> reference to array data (jobs) to be distributed to each thread (mandatory)<br /> number of threads to be started (mandatory)<br /> name to assign to this context of execution (optional, default context is assumed otherwise)<br /> <br /> returns: none<br /><br />end<br /><br /> terminate execution in the given context<br /> all affected threads will be asked to return (eventually wait till they have finished processing the queue)<br /> <br /> arguments:<br /> name of context (optional, default context is assumed otherwise)<br /> <br /> returns:<br /> reference to hash containing the return values from each exited thread (thread id is hash key)<br /><br />addJobsToQueue<br /><br /> push additional jobs onto the queue in the given context<br /> <br /> arguments:<br /> reference to array data (jobs) which will be pushed onto the queue (mandatory)<br /> name of context (optional, default context is assumed otherwise)<br /> <br /> returns: none<br /><br />finalizeQueue<br /><br /> prevent adding jobs in the given context (irreversible)<br /> affected threads will then known that their task is done and they can safely return as soon as queue is empty<br /> <br /> arguments:<br /> name of context (optional, default context is assumed otherwise)<br /> <br /> returns: none<br /><br />reserveLock<br /><br /> request and lock a resource<br /> any attempt to reserve the same lock will block until lock is released<br /> required for synchronisation of threads in the same context<br /> <br /> arguments:<br /> name of lock to be reserved (mandatory)<br /> name of context (optional, default context is assumed otherwise)<br /> <br /> returns: none<br /><br />releaseLock<br /><br /> release a previously locked resource<br /> any attempt to reserve the same lock will succeed after lock is released<br /> required for synchronisation of threads in the same context<br /> <br /> arguments:<br /> name of lock to be released (mandatory)<br /> name of context (optional, default context is assumed otherwise)<br /> <br /> returns: none<br /><br />getContextName<br /><br /> returns the name of context where calling thread is currently executed<br /> <br /> arguments: none<br /> <br /> returns:<br /> context name<br /><br />getNoProcessors<br /><br /> returns the number of machine processors as returned by underlying OS<br /> Most of Windows and UNIX-like systems supported<br /> <br /> arguments: none<br /> <br /> returns:<br /> number of processors on machine<br /><br />shareVariable<br /><br /> Make the variable (scalar, array, hash) referenced by the given argument visible to all threads (shared variable)<br /> A depth of up to 10 references is allowed (reference to reference to ... to variable)<br /> <br /> arguments:<br /> reference to variable to be shared (mandatory)<br /> <br /> returns: none<br /><br />yieldRuntime<br /><br /> ask threads in the given context to yield some runtime to threads in other contexts<br /> how long they will let processor to other threads depend on the underlying OS<br /> <br /> arguments:<br /> name of context (optional, default context is assumed otherwise)<br /> <br /> returns: none<br /><br />pauseCurrentThread<br /><br /> pause the calling thread for the given time length in seconds.<br /><br /> arguments:<br /> time length the thread shall pause<br /> <br /> returns: none<br /><br />println<br /><br /> print the given message by indicating source (Thread ID) and timestamp.<br /><br /> arguments:<br /> message to be printed out<br /> <br /> returns: none<br /><br />abortCurrentThread<br /><br /> abort calling thread and print the given message by indicating source (Thread ID) and timestamp before<br /><br /> arguments:<br /> message to be printed before exit<br /> <br /> returns: none

Requirements: No special requirements
Platforms: *nix, Linux
Keyword: Arguments Assumed Context Default Group Mandatory Message Number Optional Queue Reference Return Returns Thread Threads Variable Version
Users rating: 0/10

License: Freeware Size: 10.24 KB
USER REVIEWS
More Reviews or Write Review


PARALLEL::THREADCONTEXT RELATED
Miscellaneous  -  Group a list into sequential n-tuples 1.0
Group a list into sequential n-tuples function returns a list of n-tuples from a single "flat" list.
 
Miscellaneous  -  Number Format function 1.2
This function takes a number (integer or float) and returns a string with the integer portion grouped by thousands and the decimal portion rounded or padded to given number of decimal places.
 
Modules  -  Cookie Check 6.x-1.0
Drupal requires cookies for user login, but by default no error message is given when a user's browser is set not to accept cookies. The result is a broken site--after attempting to log in, the user is returned to an empty login form with no...
10 KB  
Communication Tools  -  News Snarf 1.3
The newssnarf software is a sample extension of the popular 'dsniff' package in that it will automatically track and log NNTP connections by USENET group and article number.
70.97 KB  
Modules  -  Diagonal Advertising Banner Plugin 1.0.2
The Diagonal Advertising Banner Plugin allows users to create a diagonal banner at the top right corner of a website with a text message and optional link. Besides using the Diagonal Advertising Banner as an advertising text banner, many other...
911.36 KB  
Utilities  -  Mosquitto 0.5.3
Mosquitto is a message broker that implements the MQ Telemetry Transport (MQTT) protocol version 3. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. Probably the most famous example of this...
51.2 KB  
Multimedia & Graphics  -  Lightning Brain TextStich for InDesign 1.0
Lightning Brain TextStich for InDesign plug-in helps the user to highly reduce the number of mouse clicks needed to thread together multi-frame text flows. Two threading methods are provided: 'Quick Stitch' which allows threading of frames in...
1.1 MB  
Scientific and Engineering  -  Factorial 1.2
This code gets factorial of a number and for negative numbers returns 1.The recursive implementation of factorial is easy but using lambda keyword of python it becomes a bit tough as we can't use conditional if else in lambda. If a user wants to...
 
Development Tools  -  FreeBASIC 0.18.5b 1.0
FreeBASIC is a  32-bit BASIC compiler, with syntax similar to MS-QuickBASIC, that adds new features such as pointers, unsigned data types, inline assembly, object orientation, and many others.Features: - A large number of variable types available...
 
Communication  -  WCDMA OVSF Code Tree 1.0
Orthogonal Variable Spreading Factor (OVSF) code tree generation. Only input value is spreading factor (must be power of 2), and only output is cell array for orthogonal codes that is SF x SF in size.Code Tree Reference:3GPP TS 25.213 V10.0.0,...
10 KB  
NEW DOWNLOADS IN LINUX SOFTWARE, PROGRAMMING
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB