
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.04.2005, 02:33
|
|||
|---|---|---|---|
Вот тут фигня какая-то получается... |
|||
|
#18+
Ну да, в натуре... Я ничего не могу понять - почему не работает? Может есть какие мысли? Немного поясню: это учебная программка, другу в универе задали. Задан массив (по условию большой) каким-то образом заполненный (не важно, по крайней мере пока не важно). Необходимо найти элемент в массиве ниаболее близкий к среднему арифметическому, используя для выполнения основных функций отдельные нити. Очевидно, что использование CreateThread здесь не уместно, даже приодится ждать результата: do GetExitCodeThread (hThread, &result); while (result == STILL_ACTIVE); но тем не менее - так надо... Поэтому приняв ТАКИЕ правила, посмотрите, пожалуйста, исходник и скажите ПОЧЕМУ не работает? (Там возвращается что-то не то при втором вызове, хотя при ретурне из функции ThreadFunc2 вроде всё в поряде...) И ещё. Результатом потока может быть только DWORD? А если я чё другое хочу? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. Заранее пасиб! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2005, 15:25
|
|||
|---|---|---|---|
Вот тут фигня какая-то получается... |
|||
|
#18+
Блин, неужели никто не может сказать в чём ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2005, 15:42
|
|||
|---|---|---|---|
Вот тут фигня какая-то получается... |
|||
|
#18+
Написано до пупа всего, и много лишнего. Но просмотрев код "по диагонали", я ошибок не нашел. Что у вас конкретно не работает? авторОчевидно, что использование CreateThread здесь не уместно, даже приодится ждать результатаПочему неуместно? Ведь сказано, что нужно использовать нити. Ждать результат конечно приходится, ведь вы ничего не делаете в основом потоке. Код: plaintext 1. 2. 3. авторРезультатом потока может быть только DWORD? А если я чё другое хочу? Результа потока -- это код возврата (0, если поток завершился успешно). Все остальное передавайте, например, через глобальные переменные (а вообще это большая тема, относящаяся к IPC). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2005, 16:00
|
|||
|---|---|---|---|
Вот тут фигня какая-то получается... |
|||
|
#18+
roman10 WaitForSingleObject(hThread, INFINITE). хоть на этом спасибо roman10 Результа потока -- это код возврата (0, если поток завершился успешно). Все остальное передавайте, например, через глобальные переменные (а вообще это большая тема, относящаяся к IPC). Не проблема, но бывают случаи, кога глобальными переменными не обойдёшься, а это так, учебная программка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2005, 16:25
|
|||
|---|---|---|---|
Вот тут фигня какая-то получается... |
|||
|
#18+
авторНе проблема, но бывают случаи, кога глобальными переменными не обойдёшься, а это так, учебная программка... Ах да. Ведь вы результат работы CountMiddle, возвращающей тип float, преобразовываете в DWORD. Очень здорово придумано. Это явная ошибка. Вам нужно было в THREAD_PARAM_forCOUNT предусмотреть отдельное поле для возврата результата, да и THREAD_PARAM_forFIND, кстати, тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2033392]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 441ms |

| 0 / 0 |
