|
|
|
| Всем добрый день.
Подскажите, можно ли пользоваться потоками в обычном консольном приложении без WINAPI ?
У меня обычная программа, которая делает простые просчеты и сохраняет их. Нужно чтоб эти просчеты работали параллельно. В документациях находил что-то типа:
HANDLE CreateThread(
PSECURITY_ATTRIBUTES psa,
DWORD cbStack,
PTHREAD_START_ROUTINE pfnStartAddr,
PVOID pvParam,
DWORD fdwCreate,
PDWORD pdwThreadID);
|
Но в консоле нет никаких HANDLE | |
|
|
|
|
|
|
|
для: shevak
(20.11.2008 в 17:35)
| | HANDLE это обычный указатель, возвращается при создании потока, используется потом при уничтожении потока. | |
|
|
|
|
|
|
|
для: shevak
(20.11.2008 в 17:35)
| | Подключите библиотеку windows.h | |
|
|
|
|
|
|
|
для: shevak
(20.11.2008 в 17:35)
| | #include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
char buffer[128];
FILE *dsk;
/* Run CHKDSK so that it writes its output to a pipe. Open pipe
* with read text attribute so that we can read it like a text file.
*/
if (( dsk = _popen( "dir * | sort | more", "rt" )) == NULL )
exit(1);
/* Read pipe until end of file. End of file indicates that CHKDSK
* closed its standard out (probably meaning that it terminated).
*/
while( !feof( dsk ) )
{
fgets( buffer, 128, dsk );
printf( buffer );
}
/* Close pipe and print return value of CHKDSK. */
printf( "\nChild returned %d\n", _pclose( dsk ) );
return 0;
} |
Незнаю можно-ли как-нибудь приделать такое, и не пойму нити-ли это или потоки | |
|
|
|
|
|
|
|
для: exp
(29.11.2008 в 23:24)
| | :-) Это пайпы, а нить и поток, это одно и то же.
Пайп это в принципе тот же поток, только именованный и ближе к файлам, но я с ними не работал, поэтому подробнее не скажу. | |
|
|
|