blob: 90205fda1d7dbdf107655af85fc7afa345312757 [file] [log] [blame]
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from multithreaded_processor import MultithreadedProcessor
class EvenNumbersGenerator():
An example and a simple test for
These class is supposed to generate a table of even numbers using
many threads.
def __init__(self):
# creates a processor class with 13 threads
self._processor = MultithreadedProcessor(13)
def getEvenNumbers(self, count):
@param count: a count of even numbers to return
@returns a list of first 'count' even numbers in ascending order
# prepares input data
self._data = range(count)
# runs the calculations and returns an output
return, count)
def _thread(self, task_id):
# calculates single even number
return (self._data[task_id]*2)
def main():
Unit test for MultithreadedProcessor
# runs the test
gen = EvenNumbersGenerator()
evenNumbers = gen.getEvenNumbers(12345)
# checks the output
assert len(evenNumbers) == 12345
for i, number in enumerate(evenNumbers):
assert number == i*2
if __name__ == '__main__':