[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Library to easily use shared memory to share variables between Apps and Tasks
[Thread Prev] | [Thread Next]
- Subject: Library to easily use shared memory to share variables between Apps and Tasks
- From: Brian G <brian@xxxxxxxxxxxxxxxx>
- Date: Mon, 15 Jul 2024 17:36:01 -0700
- To: GambasList <user@xxxxxxxxxxxxxxxxxxxxxx>
I have released a version of the ShmMem Shared memory library to the Software farm and also made it available on Github at
https://github.com/justlostintime/ShmMem and can be cloned from there.First pass at detailed documentation at https://github.com/justlostintime/ShmMem/wiki.
This library simplifies the usage of shared variables between tasks and apps. This class behaves more like an extension of gambas data types. It is possible to save the state of the image , or individual Symbols. Includes many many examples of usage. Implements most useful shared memory types, queues, priority queues, lists, arrays and simple value. Supporting notifications when variables are created and deleted, and changed. Changing the value in one app will notify all other tasks and apps who are waiting for the value to change. Symbols are dynamically typed, most Gambas types and objects are supported natively. The library is self documenting through the gambas help system as well.
You must install the library to do most testing and run example scripts. As a simple example, app 1 does use ":westwood.shmmem:2.1" dim mymem as new shmmem("mymemory") with myMem !newvar = 100 end with app 2 does use ":westwood.shmmem:2.1" dim mymem as new shmmem("mymemory") with myMem print !newvar ' outputs 100 end withApps simply share the value of the mymem variable with the task. Which will allow Access to the variables.
The library can be directly installed from https://github.com/justlostintime/ppa from your distributions sub directory.
It me be retrieved using as an example.curl -LJO "https://raw.githubusercontent.com/justlostintime/ppa/main/ubuntu/westwood-shmmem_2.1.17-7_all.deb"
Substitute your distribution name. -- ~~~~ Brian
Attachment:
OpenPGP_0x78BFB26402F48419.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature