日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux学习笔记-调用pthead_create创建线程

發布時間:2025/3/15 linux 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux学习笔记-调用pthead_create创建线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

調用pthead_create
pthread_t?handle;
pthread_create(&handle,?//?線程句柄
NULL,?//?忽略
Thread_Main,?//?線程的主函數
NULL)?//?線程的參數,即context參數的值

1) sleep??單位是秒
(2)?nanosleep??單位是納秒,但系統是達不到納秒的精度的。通常轉指定毫秒級。5ms精度

void?msleep(int?ms) { timespec?ts; ts.tv_sec?=?ms?/?1000; ts.tv_nsec?=?(ms?%?1000)?*?1000000; nanosleep(&ts,?NULL); }

pthread_create:
失敗,返回<0的一個值
成功, 返回 0

?

?

?

Makefile如下所示:

EXE=helloworld SUBDIR=srcCXXFLAGS += LDFLAGS += -lpthreadCXX_SOURCES =$(foreach dir,$(SUBDIR), $(wildcard $(dir)/*.cpp)) CXX_OBJECTS=$(patsubst %.cpp, %.o, $(CXX_SOURCES)) DEP_FILES =$(patsubst %.o, %.d, $(CXX_OBJECTS))$(EXE): $(CXX_OBJECTS)g++ $(CXX_OBJECTS) -o $(EXE) $(LDFLAGS)%.o: %.cppg++ -c $(CXXFLAGS) -MMD $< -o $@-include $(DEP_FILES)clean: rm -rf $(CXX_OBJECTS) $(DEP_FILES) $(EXE)test:echo $(CXX_OBJECTS))

main.cpp

源碼如下:

#include <stdio.h> #include <unistd.h> #include <pthread.h>void msleep(int ms){timespec ts;ts.tv_sec = ms/1000;ts.tv_nsec = (ms % 1000) * 1000000;nanosleep(&ts, NULL); }void *Thread_Main(void *context){while(1){printf("I am a thread ... \n");//msleep(100); //500ms::sleep(1);}return NULL; }int main(){pthread_t handle;if(pthread_create(&handle, NULL, Thread_Main, NULL) < 0){printf("failed to create thread!\n");return -1;}getchar();return 0; }

運行截圖如下:

總結

以上是生活随笔為你收集整理的Linux学习笔记-调用pthead_create创建线程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。