Pakete, Repositories und App-Kategorien suchen

Paketdetailsv3.2.1

computer

Einfach zu verwendende Pool von gleichzeitigen Arbeitern mit API wie compute().

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
1390
Likes
63
Pub-Punkte
160

Paket installieren

flutter pub add computer

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das Computer-Paket bietet in Dart einen einfachen und effizienten Pool paralleler Worker mit einer compute()-API, die der integrierten compute-Funktion von Flutter ähnelt. Es ermöglicht die Ausführung CPU-intensiver Aufgaben außerhalb des Hauptisolats und verbessert so die Reaktionsfähigkeit der Anwendung. Einfach zu verwenden und abstrahiert komplexe Konkurrenzverwaltung, unterstützt gleichzeitig mehrere Plattformen wie Android, iOS, macOS, Windows und Linux. Ideal für Hintergrundverarbeitung wie Datenanalyse, Bildmanipulation oder schwere Berechnungen.

Anwendungsfälle

  • CPU-intensive Operationen im Hintergrund ausführen
  • Verarbeitung großer Datensätze ohne die Benutzeroberfläche zu blockieren
  • Bild- oder Dateiänderungen durchführen
  • Ausführung langwieriger mathematischer Berechnungen
  • Verbesserung der App-Leistung während intensiver Aufgaben

Hauptmerkmale

  • Einfache compute()-API
  • Plattformübergreifende Unterstützung
  • Automatisches Worker-Pool-Management
  • Leichtgewichtig und einfach zu integrieren
  • Eingebaute Fehlerbehandlung und Wiederholungen

Geeignet für

  • Entwickler, die Hintergrundberechnung benötigen
  • Apps mit intensiver Datenverarbeitung
  • Projekte, die während hoher Last responsive Benutzeroberflächen erfordern
  • Teams, die eine Drop-in-Alternative zu Flutter's compute suchen
  • Anwendungen für mehrere Desktop- und Mobile-Plattformen

Hinweise

  • Nicht geeignet für I/O-begrenzte Aufgaben
  • Eingeschränkte Anpassung des Arbeiterverhaltens
  • Kann bei vielen gleichzeitigen Aufgaben mehr Speicher verbrauchen
  • Am besten geeignet für CPU-intensive, nicht für Netzwerkoperationen
  • Erfordert sorgfältige Handhabung großer Datenübertragungen zwischen Isolaten

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Computer

Computer is a lightweight library for concurrent computations, which provides Flutter's compute like API.

Features

  • Easy to use API
  • No overhead on creating & releasing isolates for each task. Workers initialized on start and ready to solve your tasks
  • Strictly defined number of workers

Note

Computer.shared() is a singleton, use Computer.create() to create new instances

How to use

Computer provides just 3 methods

turnOn()

Before using the Computer you need to turnOn it. This will create workers and initialize them. Then you may use compute() method.

final computer = Computer.create(); //Or Computer.shared()

await computer.turnOn(
  workersCount: 4, // optional, default 2
  verbose: false, // optional, default false
);
compute()

compute will execute your function inside one of the workers. Function may be async. The callback argument must be a top-level or static method of a class.

final result = await computer.compute(
  fib,
  param: 45, // optional
);
turnOff()

If you don't need workers anymore, you can turnOff the Computer. It will destroy workers.

await computer.turnOff();
Errors

ComputerError the parent error for all errors/exceptions in this package

class ComputerError implements Exception {
  final String message;
}

RemoteExecutionError shows up when something goes wrong in task

class RemoteExecutionError extends ComputerError {
  final Capability taskCapability;
}

CancelExecutionError shows up when turnOff is called but task is processing

class CancelExecutionError extends ComputerError {
  final Capability taskCapability;
}

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden