HTML and CSS Reference
In-Depth Information
}
};
this . init = function () {
// create 'size' number of worker threads
for ( var i = 0 ; i < size ; i ++ ) {
_this . workerQueue . push ( new WorkerThread ( _this ));
}
};
this . freeWorkerThread = function ( workerThread ) {
if ( _this . taskQueue . length > 0 ) {
// don't put back in queue, but execute next task
var workerTask = _this . taskQueue . shift ();
workerThread . run ( workerTask );
} else {
_this . taskQueue . push ( workerThread );
}
};
}
// runner work tasks in the pool
function WorkerThread ( parentPool ) {
var _this = this ;
this . parentPool = parentPool ;
this . workerTask = {};
this . run = function ( workerTask ) {
this . workerTask = workerTask ;
// create a new web worker
if ( this . workerTask . script !== null ) {
var worker = new Worker ( workerTask . script );
worker . addEventListener ( 'message' , function ( event ) {
mycallback ( event );
_this . parentPool . freeWorkerThread ( _this );
}, false );
worker . postMessage ( slidfast . worker . obj ());
}
};
}
function WorkerTask ( script , callback , msg ) {
this . script = script ;
this . callback = callback ;
console . log ( msg );
this . obj = msg ;
}
var pool = new Pool ( workers . threads );
Search WWH ::




Custom Search