diff options
| author | Oliver Eftevaag <oliver.eftevaag@qt.io> | 2023-06-23 16:11:31 +0200 |
|---|---|---|
| committer | Oliver Eftevaag <oliver.eftevaag@qt.io> | 2023-07-04 00:18:47 +0200 |
| commit | 38373b81f37ccbf6ec66f43a70fe9622bbcc9593 (patch) | |
| tree | b66eeb48b0a982cb3fd19e18ca8468dec6c1700f /tests/manual/threading/workerscript/workerscript.mjs | |
| parent | add2620e2e710bd2f594973f22f048314d7060d8 (diff) | |
convert threading example to manual tests
The threading example used a LauncherList to combine
two different but related examples into one.
I've now separated both into a shared directory called
'threading'
Pick-to: 6.6
Change-Id: Iee8898e61adcf69dc67157a1eff5f6ac019a39ca
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests/manual/threading/workerscript/workerscript.mjs')
| -rw-r--r-- | tests/manual/threading/workerscript/workerscript.mjs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/manual/threading/workerscript/workerscript.mjs b/tests/manual/threading/workerscript/workerscript.mjs new file mode 100644 index 0000000000..560c304b47 --- /dev/null +++ b/tests/manual/threading/workerscript/workerscript.mjs @@ -0,0 +1,27 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +//Will be initialized when WorkerScript{} is instantiated +var cache = new Array(64); +for (var i = 0; i < 64; i++) + cache[i] = new Array(64); + +function triangle(row, column) { + if (cache[row][column]) + return cache[row][column] + if (column < 0 || column > row) + return -1; + if (column == 0 || column == row) + return 1; + return triangle(row-1, column-1) + triangle(row-1, column); +} +//! [0] +WorkerScript.onMessage = function(message) { + //Calculate result (may take a while, using a naive algorithm) + var calculatedResult = triangle(message.row, message.column); + //Send result back to main thread + WorkerScript.sendMessage( { row: message.row, + column: message.column, + result: calculatedResult} ); +} +//! [0] |
