Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev3.2.1

computer

Piscina de trabalhadores concorrentes fácil de usar com API semelhante à compute().

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
1,4 mil
Curtidas
63
Pontos Pub
160

Instalar pacote

flutter pub add computer

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote computacional fornece um pool simples e eficiente de trabalhadores concorrentes em Dart, oferecendo uma API compute() semelhante à função built-in compute do Flutter. Permite executar tarefas intensivas em CPU fora do isolado principal, melhorando a responsividade do aplicativo. Projetado para facilitar o uso, abstrai a complexidade da gestão de concorrência enquanto suporta múltiplas plataformas, incluindo Android, iOS, macOS, Windows e Linux. Ideal para processamento em segundo plano, como análise de dados, manipulação de imagens ou cálculos pesados.

Casos de uso

  • Executar operações intensivas em CPU em segundo plano
  • Processamento de grandes conjuntos de dados sem bloquear a IU
  • Realizando transformações de imagem ou arquivo
  • Executando cálculos matemáticos de longa duração
  • Melhorando o desempenho do aplicativo durante tarefas intensivas

Principais recursos

  • API simples de compute()
  • Suporte multiplataforma
  • Gerenciamento automático de pool de trabalhadores
  • Leve e fácil de integrar
  • Tratamento integrado de erros e repetições

Indicado para

  • Desenvolvedores que precisam de computação em segundo plano
  • Aplicativos com processamento intensivo de dados
  • Projetos que exigem interfaces responsivas durante cargas pesadas
  • Equipes que desejam uma alternativa de instalação direta ao compute do Flutter
  • Aplicações direcionadas a múltiplas plataformas desktop e móveis

Considerações

  • Não adequado para tarefas de E/S
  • Personalização limitada do comportamento do trabalhador
  • Pode consumir mais memória com muitas tarefas concorrentes
  • Melhor usado para operações intensivas em CPU, em vez de operações de rede
  • Requer manipulação cuidadosa de grandes transferências de dados entre isolados

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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;
}

Categorias

Repositório-fonte

Projetos que usam este pacote