. . , pthreads Win32.
POSIX:
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
void* print_once(void* pString)
{
printf("%s", (char*)pString);
return 0;
}
void* print_twice(void* pString)
{
printf("%s", (char*)pString);
printf("%s", (char*)pString);
return 0;
}
int main(void)
{
pthread_t thread1, thread2;
pthread_create(&thread1, NULL, print_once, "Foo");
pthread_create(&thread2, NULL, print_twice, "Bar");
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
return 0;
}
Win32:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
DWORD print_once(LPVOID pString)
{
printf("%s", (char*)pString);
return 0;
}
DWORD print_twice(LPVOID pString)
{
printf("%s", (char*)pString);
printf("%s", (char*)pString);
return 0;
}
int main(void)
{
HANDLE thread1, thread2;
thread1 = CreateThread(NULL, 0, print_once, "Foo", 0, NULL);
thread2 = CreateThread(NULL, 0, print_once, "Bar", 0, NULL);
WaitForSingleObject(thread1, INFINITE);
WaitForSingleObject(thread2, INFINITE);
return 0;
}
Windows POSIX, .