Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

30
LINES

< > BotCompany Repo | #1018831 // Thread Comparison: Max Priority vs Min Priority

JavaX source code (Dynamic Module) [tags: use-pretranspiled] - run with: Stefan's OS

Libraryless. Click here for Pure Java version (14735L/102K).

1  
!7
2  
3  
module ThreadComparison > DynSingleFunction {
4  
  int multiplicity = 4;
5  
  
6  
  void doIt {
7  
    print("Benchmarking...");
8  
    final long endTime = sysTimePlus(5000);
9  
    final new L<AtomicLong> counts;
10  
    new L<Thread> threads;
11  
    repeat multiplicity {
12  
      final AtomicLong c = addAndReturn(counts, new AtomicLong);
13  
      threads.add(minPriorityThread(r { while (sysNow() < endTime) incAtomicLong(c) }));
14  
    }
15  
    repeat multiplicity {
16  
      final AtomicLong c = addAndReturn(counts, new AtomicLong);
17  
      threads.add(maxPriorityThread(r { while (sysNow() < endTime) incAtomicLong(c) }));
18  
    }
19  
    joinThreads(threads);
20  
    for i over threads:
21  
      print("Count " + (i+1) + " [priority " + threads.get(i).getPriority() + "]: " + counts.get(i));
22  
  }
23  
  
24  
  visualize {
25  
    ret northAndCenter(vstackWithSpacing(
26  
      withLabel("Multiplicity:", liveValueSpinner(dm_fieldLiveValue('multiplicity), 1, 32)),
27  
      super.visualize()), 
28  
    dm_printLogComponent());
29  
  }
30  
}

download  show line numbers  debug dex  old transpilations   

Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1018831
Snippet name: Thread Comparison: Max Priority vs Min Priority
Eternal ID of this version: #1018831/14
Text MD5: e68c376a6974b5bba3b680ad4c1452d1
Transpilation MD5: 101e2cbee3deb7165502b324a0b0b848
Author: stefan
Category: javax
Type: JavaX source code (Dynamic Module)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2018-10-14 01:03:03
Source code size: 998 bytes / 30 lines
Pitched / IR pitched: No / No
Views / Downloads: 404 / 512
Version history: 13 change(s)
Referenced in: [show references]