Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.05.2013, 03:11
|
|||
|---|---|---|---|
|
|||
thread |
|||
|
#18+
Всем привет. Нужна помощь. В следующей проге всё ломается (насколько я понимаю) в строке создания нового треда. То есть программа компилится и отрабатывает, но в векторе vresult ничего не появляется. Хотя если просто потестить без тредов, то всё прекрасно работает. Поэтому думаю, что какаясегодня-то глупость именно с тредами. Не очень в этом разбираюсь. Вообще программа - это реализация сортировки слиянием с параллельными процессами. Написана в 12ой студии. Извините, если доставил неудобоства ненадлежащим оформлением. Опыта маловато. Код: 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. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2013, 06:04
|
|||
|---|---|---|---|
thread |
|||
|
#18+
Kup3a ws.push_back ( new std::thread (&worker::sort, &w, vhelp, vresult)); //думаю, что здесь проблема print_vector(vresult); //ибо до этого всё хорошо работает Это в смысле "вася, иди наруби дров, давай дрова. Что значит ты еще даже топор не успел взять???" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2013, 17:20
|
|||
|---|---|---|---|
|
|||
thread |
|||
|
#18+
White Owl, к принту, который я добавил исключительно, чтобы посмотреть, захожу ли я вообще в цикл, вы придраться смогли, а чего-то конструктивного посоветовать не удосужились? Спасибо, что ещё могу сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2013, 19:34
|
|||
|---|---|---|---|
|
|||
thread |
|||
|
#18+
Добавил критические секции, чтобы ограничить доступ к vresult. Как выяснилось, всё отрабатывает хорошо за исключением следующего факта: после завершения треда результат в vresult'е не сохраняется. То есть если внутри треда сделать принт, то vresult содержит нужные данные, но сразу после завершения всякий результат пропадает. Подскажите, пожалуйста, в чем косяк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.05.2013, 20:37
|
|||
|---|---|---|---|
|
|||
thread |
|||
|
#18+
Проблема была в следующем: функции sort нужно было передавать указатель на vresult, иначе она только локально изменяла значение вектора. Это моё решение и моя интерпритация проблемы. Всё же буду рад авторитетному мнению. Спасибо всем, кто морально меня поддерживал, вы мне безумно помогли! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.05.2013, 17:33
|
|||
|---|---|---|---|
thread |
|||
|
#18+
Kup3aWhite Owl, к принту, который я добавил исключительно, чтобы посмотреть, захожу ли я вообще в цикл, вы придраться смогли, а чего-то конструктивного посоветовать не удосужились? Спасибо, что ещё могу сказать. Советую конструктивно: За такое : Код: plaintext 1. 2. 3. 4. 5. 6. 7. сразу же надо ... эээ... выгонять из профессии. Класс на одну функцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2020246]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 178ms |

| 0 / 0 |
