Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.com.tests.manyThreads
local (origTicks = clock.ticks ()); local (ctThreads = 10); local (ctReps = 100); local (i, j); temp.testct = 0; //each thread will incremement this at the end -- it's a check for silent failures for i = 1 to ctReps { msg ("Test " + i + " of " + ctReps + ". Thread count: " + frontier.countThreads ()); for j = 1 to ctThreads { thread.evaluate ("com.tests.oneThread ()")}; sys.systemTask ()}; while (frontier.countThreads () > 2) { //wait until all spawned threads have stopped executing msg (frontier.countThreads ())}; if temp.testct != ctReps * ctThreads { //each thread increments temp.testct scriptError ("Not all the threads ran all the way!")}; msg (((clock.ticks () - origticks)))
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.