Term::YAP::iThread - subclass of Term::YAP implemented with ithreads


See parent class.


Subclass of Term::YAP implemented with ithreads. The pun with it's name is intended.

Despite the limitation of|'ithreads' some platforms (like Microsoft Windows) does not work well with process handling of Perl. If you in this case, this implementation of Term::YAP might help you.

If you program code does not handle ithreads correctly, consider initiation a Term::YAP::iThread object in a BEGIN block to avoid loading the code that does not support ithreads.


Additionally to all attributes from superclass, this class also has the queue attribute.


Keeps a reference of a Thread::Queue instance. This instance is created automatically during Term::YAP::iThread creation.


A "private" attribute. Used to control when the created thread is expected to exists it's infinite loop after start_pulse method invocation.


The following methods are overriden from parent class:



Getter for the queue attribute.


Creates a thread right after object instantiation.

The thread will start only after start method is called.


This method will take care to "terminated" the Thread::Queue object used to provide communication with the thread.


To enable usage of this module with code that does not supports threads, this class will create a detached thread as soon as the object was created. This thread will remain active until the end of the program, waiting to receive a command to start the pulse (or stop it).

That said, the class will not try to create new threads and will not check if the created thread exited successfully (but it does check if the thread is retrieving items from the Thread::Queue object created).



Alceu Rodrigues de Freitas Junior, <>

Term::Pulse was originally created by Yen-Liang Chen, <alec at>


This software is copyright (c) 2015 of Alceu Rodrigues de Freitas Junior, <>

This file is part of Term-YAP distribution.

Term-YAP is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Term-YAP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Term-YAP. If not, see <>.