Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@futils/multi-threading

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@futils/multi-threading

A simple multithreading library

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

multi-threading

Issues and Pull Requests

Usage

where you want to use the thread:

import { startThread } from '@futils/multi-threading';

const thread = startThread<
    'log' | 'eval',
    { log: string; eval: string },
    { log: void; eval: any }
>('./<filename>.js');

export type standardThread = typeof thread;

the thread script:

import { standardThread } from './<thread-launch-scriptname>';
import { getThreadProcess } from '@fuilts/multi-threading';

const thread = getThreadProcess<standardThread>();

Interface for the thread launcher

  • send(channel, data): Promise<returnedData>: This will send a message to the thread. The channel is the first type provided to startThread, the data the second and the returnedData the 3rd
  • kill(): This will kill the thread
  • onMessage(message, (data: returnedData)): () => {}: This will register a messagelistener for a particular message. message is the first type provided to startThread, returnedData the 3rd. It returns a function, that when called, unregisters the listener
  • onMessageOnce(message, (data: returnedData)): () => {}: This will register a messagelistener for a particular message. message is the first type provided to startThread, returnedData the 3rd. It returns a function, that when called, unregisters the listener. The listener gets automatically removed after it got triggered once.
  • removeListener(message, cb): This will remove a onMessage and onMessageOnce listener. The cb has to be the same function, not just one that has the same behavior and contents
  • isRunning(): boolean: Tells you if the thread is still running
  • stop(): Stops the thread
  • whenExit(): This will resolve when the thread exits, or immediately if its not running
  • whenReady(): This will resolve when the thread is ready, or immediately if its running and already ready.

Interface for the thread client (script)

  • send(message, data): This will send a message to the thread launcher. message is the first type provided to startThread, and data the 3rd
  • onMessage(message, (data) => returnedData|Promise<returnedData>): This will listen for a message. message is the first type provided to startThread, data the 2nd and returnedData the 3rd. It returns a funtion, that when called, unregisters the listener.
  • onMessageOnce(message, (data) => returnedData|Promise<returnedData>): This will listen for a message. message is the first type provided to startThread, data the 2nd and returnedData the 3rd. It returns a funtion, that when called, unregisters the listener. The listener gets automatically removed after it got triggered once.
  • removeListener(message, cb): This will remove a onMessage and onMessageOnce listener. The cb has to be the same function, not just one that has the same behavior and contents

Keywords

FAQs

Package last updated on 29 Mar 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc