• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Многопоточность

  • Автор темы GRAMER
  • Дата начала
G

GRAMER

Что это такое многопоточность
это CreateThread() Что ли ? :lol:
 
G

GRAMER

Оно и есть CreateThread

Спасибо так и думал.
Сегодня статью читал у Intel типа сложно - многопоточность, этоже проше простого уже долго использую
 
S

shisik

Только в VC++ лучше вместо CreateThread использовать _beginthreadex, только там с типы параметров немного отличаются. Для простоты использования можно использовать макрос:
Код:
#define chBEGINTHREADEX(psa, cbStack, pfnStartAddr, \
pvParam, fdwCreate, pdwThreadID) \
((HANDLE) _beginthreadex( \
(void *) (psa), \
(unsigned) (cbStack), \
(PTHREAD_START) (pfnStartAddr), \
(void *) (pvParam), \
(unsigned) (fdwCreate), \
(unsigned *) (pdwThreadID)))
Тогда вместо CreateThread достаточно написать chBEGINTHREADEX (параметры останутся те же).

И ещё. В многопоточном приложении могут возникнуть проблемы с совместным доступом разных потоков к одному и тому-же ресурсу (например, к глобальной переменной). На тему многопоточности, синхронизации потоков, да и вообще программирования под Windows, советую почитать Рихтера (макрос я взял как раз оттуда).
 
P

Pasha

European
A thread in an executable that calls the C run-time library (CRT) should use the _beginthreadex and _endthreadex functions for thread management rather than CreateThread and ExitThread; this requires the use of the multi-threaded version of the CRT. If a thread created using CreateThread calls the CRT, the CRT may terminate the process in low-memory conditions.
 
E

European

Pasha, это понятно. Где связь CRT и VC++?

Я имел в виду, что речи о CRT не шло, и тут "луше использовать..."
 
B

biz

Клевая штука эта многопоточность......
 
P

Pasha

European
Лучше использовать - IMHO лучше сразу обойти возможные грабли :)
 
E

European

Я так и думал, что основным аргументом будет книжка Рихтера
 
S

shisik

Я так и думал, что основным аргументом будет книжка Рихтера
А он что, не прав? Я ж не говорю, что CreateThread работать не будет. Просто лучше использовать именно _beginthreadex во избежание возможных проблем.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!