Странное поведение CreateThread.

Discussion in 'WASM.WIN32' started by CrawlUp, Dec 10, 2018.

  1. Smit

    Smit New Member

    Blog Posts:
    0
    Code (C):
    1. CreateThread(NULL, 10000, (LPTHREAD_START_ROUTINE)Thread_SyncDATA, (VOID*)&list_process, 0, &ThreadID);
    заменить на
    Code (C):
    1. CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Thread_SyncDATA, (VOID*)&list_process, 0, &ThreadID);
     
  2. M0rg0t

    M0rg0t Well-Known Member

    Blog Posts:
    0
    Smit, и как оно влияет?
     
  3. Smit

    Smit New Member

    Blog Posts:
    0
    M0rg0t,
    ТС говорит, что GetLastError возвращает "Недостаточно памяти для обработки команды". К гадалке не ходи, это из за того, что он явно указывает размер стека при создании потока. Лучше указать по умолчанию.
     
  4. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Smit,

    Учитывая что сервисных ошибок сопоставляется лишь несолько:
    То можно элементарно догадаться что проблема вторая, такой статус возвращается при не корректных параметрах при запросе на выделение памяти.

    superakira,

    > как работать с асинхронным апи, где и как чекать пендинг статусы в юм?

    Сам догадайся.
     
  5. Rel

    Rel Well-Known Member

    Blog Posts:
    2
    да не парься, Инде не шарит просто, ему матчасть надо идти учить...
     
  6. CrawlUp

    CrawlUp Member

    Blog Posts:
    0
    Тема тут вижу кипит. Вообщем-то я вроде разобрался в чём причина. Если у тебя перед функцией main объявляется много глобального "чего-то там", при инициализации окна, если в отладчике показывается только один основной поток, то функция CreateThread провальна, и сколько бы ты её не запускал в цикле, с любыми значениями она не заработает. Но если, кроме основного потока уже успели заработать ещё 3 "рабочих потока" , функция вызывается успешно. Я в функции main добавил задержку 3 секунды перед созданием окна, и вызов CreateThread происходит уже с инициализированными "1- основным потоком, и 3- рабочими потоками". Проходит естественно успешно.
     
    Mikl___ and q2e74 like this.