Multitarefa | Electron
https://www.electronjs.org/pt/docs/latest/tutorial/multithreading • 44 KB fetched Open original page
Multitarefa | Electron
Ir para o conteúdo principal
Electron Documentação API Blog Ferramentas
* Electron Forge
* Electron Fiddle
Comunidade
* Governança
* Vitrine
* Recursos
Versões Português
* English
* Deutsch
* Español
* Français
* 日本語
* Português
* Русский
* 中文
Pesquisar
* Comece Agora
* Processos no Electron
* Boas práticas
* Exemplos
* Modo escuro
* Device Access
* In-App Purchases
*
* Atalhos do Teclado
* Deep Links
* Desktop Launcher Actions
*
* Menus
* Multitarefa
* Nativo Arquivo Drag & Drop
* Navigation History
* Notificações
* Renderização fora da tela
* Detecção de Evento Online/Offline
* Progress Bars
* Documentos Recentes
*
*
* Representing Files in a BrowserWindow
*
* SpellChecker
* Web Embeds
* Taskbar Customization
*
* Window Customization
* Desenvolvimento
* Native Node Modules
* Distribuição
* Testando e Depurando
* Referências
* Contribuindo
*
* Exemplos
* Multitarefa Nesta página
Multitarefa
Com o Web Workers , é possível executar JavaScript em nível de tarefas de um sistema operacional.
Multi-tarefas com Node.js
É possível usar os recursos de Node.js em Electron Web Workers,para fazer issso use a opção nodeIntegrationInWorker deve ser definida como true em webPreferences .
const win = new BrowserWindow ( {
webPreferences : {
nodeIntegrationInWorker : true
}
} )
O nodeIntegrationInWorker pode ser usado independente do nodeIntegration , mas o sandbox não deve ser definido para true .
[!NOTE] This option is not available in SharedWorker s or Service Worker s owing to incompatibilities in sandboxing policies.
APIs Disponíveis
Todos os módulos internos do Node.js são suportados em Web Workers e asar , arquivos ainda podem ser lidos com Node.js APIs. No entando, nenhum dos módulos internos do Electron pode ser usado em um ambiente multitarefa.
Módulos nativos do Node.js
Qualquer módulo nativo do Node.js pode ser carregado diretamente em Web Workers, mas é altamente recomendável não fazer isso. A maioria dos módulos nativos existentes foram escritos para ambiente single-threaded (sem multitarefa), usá-los em Web Workers vai levar a falhas e corrupções de memória.
Observe que mesmo se um módulo nativo do Node.js é thread-safe (tarefa seguro) ele ainda assim não é seguro para carregá-lo em um Web Worker, porque a função process.dlopen não é thread-safe.
A única maneira de carregar um módulo nativo, com segurança, por enquanto, é certificar-se de que o aplicativo carrega os módulos nativos após começar o Web Workers.
process . dlopen = ( ) => {
throw new Error ( 'Load native module is not safe' )
}
const worker = new Worker ( 'script.js' )
Editar esta página
Anterior
Atalhos do Teclado
Avançar
Nativo Arquivo Drag & Drop
* Multi-tarefas com Node.js
* APIs Disponíveis
* Módulos nativos do Node.js
Documentação
* Introdução
* Referência da API
Listas de verificação
* Performance
* Segurança
Ferramentas
* Electron Forge
* Electron Fiddle
Comunidade
* Governança
* Recursos
* Discord
* Bluesky
* X
* Mastodon
* Stack Overflow
Mais
* GitHub
* Open Collective
* Painel de infraestrutura
Direitos autorais © OpenJS Foundation e contribuidores do Electron. Todos os direitos reservados. A OpenJS Foundation possui marcas registradas e utiliza marcas comerciais. Para uma lista de marcas da OpenJS Foundation , consulte nossa Política de Marcas e Lista de Marcas . Marcas e logotipos não indicados na lista de marcas da OpenJS Foundation são marcas™™ ou marcas registradas®® de seus respectivos proprietários. O uso delas não implica qualquer afiliação ou endosso por parte deles. A OpenJS Foundation | Termos de Uso | Política de Privacidade | Estatuto | Código de Conduta | Política de Marcas | Lista de Marcas | Política de Cookies
Hosting and infrastructure graciously provided by
Links found on this page
- Ir para o conteúdo principal [direct]
- Electron [direct]
- Documentação [direct]
- API [direct]
- Blog [direct]
- Electron Forge [direct]
- Electron Fiddle [direct]
- Governança [direct]
- Vitrine [direct]
- Recursos [direct]
- Versões [direct]
- English [direct]
- Deutsch [direct]
- Español [direct]
- Français [direct]
- 日本語 [direct]
- Русский [direct]
- 中文 [direct]
- Processos no Electron [direct]
- Boas práticas [direct]
- Exemplos [direct]
- Modo escuro [direct]
- Device Access [direct]
- In-App Purchases [direct]
- Atalhos do Teclado [direct]
- Deep Links [direct]
- Desktop Launcher Actions [direct]
- Menus [direct]
- Nativo Arquivo Drag & Drop [direct]
- Navigation History [direct]
- Notificações [direct]
- Renderização fora da tela [direct]
- Detecção de Evento Online/Offline [direct]
- Progress Bars [direct]
- Documentos Recentes [direct]
- Representing Files in a BrowserWindow [direct]
- SpellChecker [direct]
- Web Embeds [direct]
- Taskbar Customization [direct]
- Window Customization [direct]
- Desenvolvimento [direct]
- Native Node Modules [direct]
- Distribuição [direct]
- Testando e Depurando [direct]
- Referências [direct]
- Contribuindo [direct]
- Web Workers [direct]
- SharedWorker s [direct]
- Service Worker s [direct]
- Editar esta página [direct]
- Segurança [direct]
- Discord [direct]
- Bluesky [direct]
- X [direct]
- Mastodon [direct]
- Stack Overflow [direct]
- GitHub [direct]
- Open Collective [direct]
- Painel de infraestrutura [direct]
- OpenJS Foundation [direct]
- Política de Marcas [direct]
- Lista de Marcas [direct]
- Termos de Uso [direct]
- Política de Privacidade [direct]
- Estatuto [direct]
- Código de Conduta [direct]
- Política de Cookies [direct]
|
|