How to Install and Uninstall libthread-tie-perl Package on Ubuntu 21.10 (Impish Indri)
Last updated: November 22,2024
1. Install "libthread-tie-perl" package
Please follow the step by step instructions below to install libthread-tie-perl on Ubuntu 21.10 (Impish Indri)
$
sudo apt update
Copied
$
sudo apt install
libthread-tie-perl
Copied
2. Uninstall "libthread-tie-perl" package
This guide covers the steps necessary to uninstall libthread-tie-perl on Ubuntu 21.10 (Impish Indri):
$
sudo apt remove
libthread-tie-perl
Copied
$
sudo apt autoclean && sudo apt autoremove
Copied
3. Information about the libthread-tie-perl package on Ubuntu 21.10 (Impish Indri)
Package: libthread-tie-perl
Architecture: all
Version: 0.15-1
Priority: optional
Section: universe/perl
Origin: Ubuntu
Maintainer: Ubuntu Developers
Original-Maintainer: Debian Perl Group
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 78
Depends: perl, libload-perl, libthread-serialize-perl
Filename: pool/universe/libt/libthread-tie-perl/libthread-tie-perl_0.15-1_all.deb
Size: 24680
MD5sum: 6d7a541a052d562aacb514f05cb0a8bc
SHA1: accd5daa4122b6ba243134a0fe3fb9b348b2997e
SHA256: 08cf49341645e2da1ccaa3b084d1a57401913868c2f03544d310b4c8fca0cf6b
SHA512: 1a44c26f634b72261325665b167af434c14fab63cd57bcd4fad0efe46f3987e55c13b5b305785aa7a2268fa0f7d2c061133ae6c25c1cba643664c0d0a8c40726
Homepage: https://metacpan.org/release/Thread-Tie
Description-en: alternative separate thread implementation of shared variables
The standard shared variable scheme used by Perl, is based on tie-ing the
variable to some very special dark magic. This dark magic ensures that shared
variables, which are copied just as any other variable when a thread is
started, update values in all of the threads where they exist as soon as the
value of a shared variable is changed.
.
The Thread::Tie module is a proof-of-concept implementation of another approach
to shared variables. Instead of having shared variables exist in all the
threads from which they are accessible, shared variable exist as "normal",
unshared variables in a separate thread. Only a tied object exists in each
thread from which the shared variable is accessible.
.
Through the use of a client-server model, any thread can fetch and/or update
variables living in that thread. This client-server functionality is hidden
under the hood of tie(). So you could say that one dark magic (the current
shared variables implementation) is replaced by another dark magic.
.
The Thread::Tie approach has the following advantages:
.
* Memory usage - This implementation circumvents the memory leak that
currently (threads::shared version 0.90) plagues any shared array or shared
hash access.
* Tieing shared variables - Because the current implementation uses tie-ing,
you can not tie a shared variable. The same applies for this implementation
you might say. However, it is possible to specify a non-standard tie
implementation for use within the thread. So with this implementation you
can tie() a shared variable. So you could tie a shared hash to a DBM file à
la dbmopen() with this module.
.
Of course there are disadvantages to this approach:
.
* Pure Perl implementation - This module is currently a pure Perl
implementation. This is ok for a proof of concept, but may need re-
implementation in pure XS or in Inline::C for production use.
.
* Tradeoff between cpu and memory - This implementation currently uses (much)
more cpu than the standard shared variables implementation. Whether this
would still be true when re-implemented in XS or Inline::C, remains to be
seen.
Description-md5: 6950942feac3c6f092950de961ead35b
Architecture: all
Version: 0.15-1
Priority: optional
Section: universe/perl
Origin: Ubuntu
Maintainer: Ubuntu Developers
Original-Maintainer: Debian Perl Group
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 78
Depends: perl, libload-perl, libthread-serialize-perl
Filename: pool/universe/libt/libthread-tie-perl/libthread-tie-perl_0.15-1_all.deb
Size: 24680
MD5sum: 6d7a541a052d562aacb514f05cb0a8bc
SHA1: accd5daa4122b6ba243134a0fe3fb9b348b2997e
SHA256: 08cf49341645e2da1ccaa3b084d1a57401913868c2f03544d310b4c8fca0cf6b
SHA512: 1a44c26f634b72261325665b167af434c14fab63cd57bcd4fad0efe46f3987e55c13b5b305785aa7a2268fa0f7d2c061133ae6c25c1cba643664c0d0a8c40726
Homepage: https://metacpan.org/release/Thread-Tie
Description-en: alternative separate thread implementation of shared variables
The standard shared variable scheme used by Perl, is based on tie-ing the
variable to some very special dark magic. This dark magic ensures that shared
variables, which are copied just as any other variable when a thread is
started, update values in all of the threads where they exist as soon as the
value of a shared variable is changed.
.
The Thread::Tie module is a proof-of-concept implementation of another approach
to shared variables. Instead of having shared variables exist in all the
threads from which they are accessible, shared variable exist as "normal",
unshared variables in a separate thread. Only a tied object exists in each
thread from which the shared variable is accessible.
.
Through the use of a client-server model, any thread can fetch and/or update
variables living in that thread. This client-server functionality is hidden
under the hood of tie(). So you could say that one dark magic (the current
shared variables implementation) is replaced by another dark magic.
.
The Thread::Tie approach has the following advantages:
.
* Memory usage - This implementation circumvents the memory leak that
currently (threads::shared version 0.90) plagues any shared array or shared
hash access.
* Tieing shared variables - Because the current implementation uses tie-ing,
you can not tie a shared variable. The same applies for this implementation
you might say. However, it is possible to specify a non-standard tie
implementation for use within the thread. So with this implementation you
can tie() a shared variable. So you could tie a shared hash to a DBM file à
la dbmopen() with this module.
.
Of course there are disadvantages to this approach:
.
* Pure Perl implementation - This module is currently a pure Perl
implementation. This is ok for a proof of concept, but may need re-
implementation in pure XS or in Inline::C for production use.
.
* Tradeoff between cpu and memory - This implementation currently uses (much)
more cpu than the standard shared variables implementation. Whether this
would still be true when re-implemented in XS or Inline::C, remains to be
seen.
Description-md5: 6950942feac3c6f092950de961ead35b