| #if defined _WIN32 | |
| #include<windows.h> | |
| #include<stdio.h> | |
| DWORD WINAPI thread_func(void) { | |
| printf("Printing from a thread.\n"); | |
| return 0; | |
| } | |
| int main(void) { | |
| DWORD id; | |
| HANDLE th; | |
| printf("Starting thread.\n"); | |
| th = CreateThread(NULL, 0, thread_func, NULL, 0, &id); | |
| WaitForSingleObject(th, INFINITE); | |
| printf("Stopped thread.\n"); | |
| return 0; | |
| } | |
| #else | |
| #include<pthread.h> | |
| #include<stdio.h> | |
| void* main_func(void) { | |
| printf("Printing from a thread.\n"); | |
| return NULL; | |
| } | |
| int main(void) { | |
| pthread_t thread; | |
| int rc; | |
| printf("Starting thread.\n"); | |
| rc = pthread_create(&thread, NULL, main_func, NULL); | |
| rc = pthread_join(thread, NULL); | |
| printf("Stopped thread.\n"); | |
| return rc; | |
| } | |
| #endif |