How To Install libthread-tie-perl on Ubuntu 22.04
Introduction
In this tutorial we learn how to install libthread-tie-perl
on Ubuntu 22.04.
What is libthread-tie-perl
libthread-tie-perl is:
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.
There are three methods to install libthread-tie-perl
on Ubuntu 22.04. We can use apt-get
, apt
and aptitude
. In the following sections we will describe each method. You can choose one of them.
Install libthread-tie-perl Using apt-get
Update apt database with apt-get
using the following command.
sudo apt-get update
After updating apt database, We can install libthread-tie-perl
using apt-get
by running the following command:
sudo apt-get -y install libthread-tie-perl
Install libthread-tie-perl Using apt
Update apt database with apt
using the following command.
sudo apt update
After updating apt database, We can install libthread-tie-perl
using apt
by running the following command:
sudo apt -y install libthread-tie-perl
Install libthread-tie-perl Using aptitude
If you want to follow this method, you might need to install aptitude first since aptitude is usually not installed by default on Ubuntu. Update apt database with aptitude
using the following command.
sudo aptitude update
After updating apt database, We can install libthread-tie-perl
using aptitude
by running the following command:
sudo aptitude -y install libthread-tie-perl
How To Uninstall libthread-tie-perl on Ubuntu 22.04
To uninstall only the libthread-tie-perl
package we can use the following command:
sudo apt-get remove libthread-tie-perl
Uninstall libthread-tie-perl And Its Dependencies
To uninstall libthread-tie-perl
and its dependencies that are no longer needed by Ubuntu 22.04, we can use the command below:
sudo apt-get -y autoremove libthread-tie-perl
Remove libthread-tie-perl Configurations and Data
To remove libthread-tie-perl
configuration and data from Ubuntu 22.04 we can use the following command:
sudo apt-get -y purge libthread-tie-perl
Remove libthread-tie-perl configuration, data, and all of its dependencies
We can use the following command to remove libthread-tie-perl
configurations, data and all of its dependencies, we can use the following command:
sudo apt-get -y autoremove --purge libthread-tie-perl
References
Summary
In this tutorial we learn how to install libthread-tie-perl
package on Ubuntu 22.04 using different package management tools: apt
, apt-get
and aptitude
.