Почему в приведенном коде выводится число 6? - C#

Узнай цену своей работы

Формулировка задачи:

Собственно вопрос в теме, почему выводится число 6?
Листинг программы
  1. sing System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Threading;
  7. namespace ConsoleApplication1
  8. {
  9. class Program
  10. {
  11. static int state = 3;
  12. static object ob = new object();
  13. static void tr()
  14. {
  15. for (int i = 0; i <= 10000000; i++)
  16. {
  17. Race();
  18. }
  19. }
  20. static void Race()
  21. {
  22.  
  23. if (state == 3)
  24. {
  25. state++;
  26. if (state != 4) { Console.Write(state); }
  27. state = 3;
  28. }
  29. }
  30. static void Main(string[] args)
  31. {
  32. Thread t1 = new Thread(tr);
  33. Thread t2 = new Thread(tr);
  34. t1.Start();
  35. t2.Start();
  36. Console.ReadKey();
  37. }
  38. }
  39. }

Решение задачи: «Почему в приведенном коде выводится число 6?»

textual
Листинг программы
  1. if (state == 3)
  2. {
  3.    int temp = state;
  4.    int result = temp + 1;
  5.    state = result;
  6.  
  7.    if (state != 4) Console.WriteLine(state);
  8.    state = 3;
  9. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут