Advertisement
Guest User

Untitled

a guest
Nov 9th, 2023
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. // петушарп
  2.  
  3. long integer_ = 100;
  4. var time1 = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
  5. var tasks = new List<Task<bool>>();
  6. for (var i = 0; i < 100_000; i++)
  7. {
  8. var task = new Task<bool>(() =>
  9. {
  10. Thread.Sleep(100);
  11. integer_ += 50;
  12. return true;
  13. });
  14. task.Start();
  15. tasks.Add(task);
  16. }
  17. foreach (var task in tasks)
  18. {
  19. task.Wait();
  20. }
  21. var time2 = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
  22. Console.WriteLine($"Result = {integer_}; Time consumed = {(time2-time1) / 1_000} s");
  23.  
  24.  
  25. // джава
  26.  
  27. ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();
  28. AtomicLong integer_ = new AtomicLong(100);
  29. long nano1 = System.nanoTime();
  30. List<Future<?>> futures = new ArrayList<>(1_000_000);
  31. for (int i = 0; i < 100_000; i++) {
  32. futures.add(executor.submit(() -> {
  33. UnsafeThread.sleep(100);
  34. integer_.addAndGet(50);
  35. }));
  36. }
  37. for (Future<?> future : futures) future.get();
  38. long nano2 = System.nanoTime();
  39. System.out.println(STR."""
  40. Result = \{integer_.get()};
  41. Time consumed = \{(nano2-nano1)/1_000_000_000} s
  42. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement