Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created August 8, 2019 01:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/c0d2bd32a8219b2dae62656d19a336bc to your computer and use it in GitHub Desktop.
Save parzibyte/c0d2bd32a8219b2dae62656d19a336bc to your computer and use it in GitHub Desktop.
/**
* Ejemplo de Web Worker calculando primos
* @author parzibyte.me/blog
*/
/*
Esto será ejecutado únicamente cuando le pasamos datos al worker
Si no queremos llamarlo y queremos que se ejecute tan pronto lo instanciamos,
simplemente quitamos la función y dejamos todo el código afuera.
La ventaja de esperar a onmessage es que podemos recibir parámetros
*/
onmessage = function(evento){
var limite = evento.data; // Lo que recibimos de la llamada
var mayorEncontradoHastaElMomento = 0; // Aquí guardaremos el mayor
function esPrimo(numero) {
for (var i = 2; i < numero; i++) {
if (numero % i === 0) {
return false;
}
}
return numero !== 1;
}
for(var x = 0; x < limite; x++){
if(esPrimo(x)){
mayorEncontradoHastaElMomento = x;
}
}
//Cuando termine el for, llamamos al método
// postMessage para informar a nuestro invocador
// que hemos terminado nuestra larga e importante tarea
postMessage("Hola. El número primo más grande menor que " + limite.toString() + " es " + mayorEncontradoHastaElMomento.toString());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment