📄 thread.c
字号:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <pthread.h>#include <string.h>#include <errno.h>void *foo(void *arg);int main(int argc, char **argv){ pthread_t tid; int err; //int pthread_create(pthread_t * restrict thread, const pthread_attr_t * restrict attr, void *(*start_routine) (void *), void *restrict arg); if ((err = pthread_create(&tid, NULL, foo, NULL)) != 0) { fprintf(stderr, "pthread_create() failed: %s\n", strerror(err)); exit(1); } fprintf(stdout, "pthread_create() successed, tid = %p.\n", &tid); fprintf(stdout, "Main thread: pid = %d\n", getpid()); fprintf(stdout, "Main thread: before pthread_join()\n"); void *value; //int pthread_join(pthread_t thread, void **value_ptr); if ((err = pthread_join(tid, &value)) != 0) { fprintf(stderr, "pthread_join() failed: %s\n", strerror(err)); exit(1); } fprintf(stdout, "Main thread: after pthread_join()\n"); sleep(10); return 0;}void *foo(void *arg){ fprintf(stdout, "No.1 thread: Just a test.\n"); fprintf(stdout, "No.1 thread: pid = %d\n", getpid()); int i; for (i = 0; i < 10; i++) { fprintf(stdout, "."); fflush(stdout); sleep(1); } //return NULL; pthread_exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -