Advertisement
Guest User

Untitled

a guest
Oct 20th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. package com.package
  2.  
  3. import java.util.Scanner;
  4. import java.util.concurrent.Executors;
  5. import java.util.concurrent.ThreadPoolExecutor;
  6.  
  7. class Main {
  8.  
  9. static int[] mass = { 1, 2, 3, 4, 5, 6, 7 };
  10. static int find;
  11. public static BoolPointer gotIt = new BoolPointer(false);
  12.  
  13. public static void main(String[] args) {
  14. Scanner in = new Scanner(System.in);
  15. System.out.print("Введите искомое число: ");
  16. find = in.nextInt();
  17. in.close();
  18.  
  19. ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors
  20. .newFixedThreadPool(Runtime.getRuntime().availableProcessors() + 1);
  21.  
  22. for (int i = 0; i < mass.length; i++) {
  23. Task task = new Task(mass[i], find, i, gotIt);
  24. executor.execute(task);
  25. }
  26. executor.shutdown();
  27. if (!gotIt.value)
  28. {
  29. System.out.print("Массив не содержит такого числа\n");
  30. }
  31.  
  32. }
  33. }
  34.  
  35. package com.package
  36.  
  37. public class BoolPointer
  38. {
  39. boolean value;
  40. public BoolPointer(boolean val)
  41. {
  42. this.value = val;
  43. }
  44. }
  45.  
  46. package com.package
  47.  
  48. public class Task implements Runnable{
  49. int el;
  50. int find;
  51. int i;
  52. BoolPointer flag;
  53.  
  54. public Task(int el, int find, int i, BoolPointer flag) {
  55. this.el = el;
  56. this.find = find;
  57. this.i = i;
  58. this.flag = flag;
  59. }
  60.  
  61. @Override
  62. public void run() {
  63. if(el == find)
  64. {
  65. flag.value = true;
  66. System.out.println(el + " находится на " + (i+1) + " позиции");
  67. }
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement