朋友们、伙计们,我们又见面了,本期来给大家带来线程控制相关代码和知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成!
C 语 言 专 栏:C语言:从入门到精通
数据结构专栏:数据结构
个 人 主 页 :stackY、
C + + 专 栏 :C++
Linux 专 栏 :Linux

目录
1. 创建线程
在使用线程有关函数接口时需要引入头文件pthread.h
创建一个新的线程:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void * (*start_routine)(void*), void *arg);
参数:
- thread:返回新线程ID
- attr:设置线程的属性,attr为NULL表示使用默认属性
- start_routine:是个函数地址,线程启动后要执行的函数
- arg:传给线程启动函数的参数
返回值:
成功返回0,失败返回错误码。
代码演示:
#include <iostream> #include <unistd.h> #include <pthread.h> #include <sys/types.h> #include <unistd.h> // 新线程 void *ThreadRoutine(void *arg) { const char *threadname = (const char *)arg; while (true) { std::cout << "I am a new thread: " << threadname << ", pid: " << getpid() << std::endl; sleep(1); } } int main() { pthread_t tid; // 创建线程 pthread_create(&tid, nullptr, ThreadRoutine, (void *)"thread 1"); // 主线程 while (true) { std::cout << "I am main thread" << ", pid: " << getpid() << std::endl; sleep(1); } return 0; }1.1 引入线程库


最低0.47元/天 解锁文章
2350

被折叠的 条评论
为什么被折叠?



