你应该知道的C / C ++中的线程函数

晓晓 102 0

搬瓦工官网(国内无法打开,需要梯子)https://bandwagonhost.com
搬瓦工官网中国镜像站https://bwh81.net(搬瓦工官方网站,放心访问)
搬瓦工官方中文网https://bwh86.net
搬瓦工官网所有方案以及库存监控页面https://bwh86.net/monitor
最新搬瓦工最大优惠力度优惠码(循环优惠6.58%):BWHNCXNVXV
搬瓦工新用户注册和图文购买教程点击查看

在Unix / Linux操作系统中,C / C ++语言为所有与线程相关的功能提供POSIX线程(pthread)标准API(应用程序接口)。它允许我们为并发流程创建多个线程。但是我们必须在脚本的开头包含pthread.h头文件,才能使用pthreads库的所有功能。要执行c文件,我们在编译文件时必须在命令行中使用-pthread或-lpthread。

该功能在所定义的pthread库包括:

1.pthread_create:用于创建新线程句法:

参数:

thread:指向无符号整数值的指针,该整数值返回创建的线程的线程ID。

attr:指向用于定义线程属性(如分离状态,调度策略,堆栈地址等)的结构的指针。对于默认线程属性,设置为NULL。

start_routine:指向线程执行的子例程的指针。子例程的返回类型和参数类型必须为void *。该函数具有单个属性,但是如果需要将多个值传递给该函数,则必须使用结构。

arg:指向void的指针,该指针包含先前参数中定义的函数的参数

2.pthread_exit:用于终止线程句法

参数:此方法接受强制参数retval,该参数是指向存储终止线程的返回状态的整数的指针。此变量的范围必须是全局的,以便任何等待加入该线程的线程都可以读取返回状态。

3.pthread_join:用于等待线程终止。

参数:此方法接受以下参数:

th:当前线程正在等待的线程的线程ID。

thread_return:指向th中提到的线程的退出状态存储位置的指针。

4.pthread_self:用于获取当前线程的线程ID。

5.pthread_equal:比较两个线程是否相同。如果两个线程相等,则该函数返回一个非零值,否则返回零。

参数:此方法接受以下参数:

第一个线程的线程ID

第二个线程的线程ID

6.pthread_cancel:用于向线程发送取消请求

参数:此方法接受强制性参数线程,该线程是向其发送取消请求的线程的线程ID。

7.pthread_detach:用于分离线程。分离的线程不需要在终止时加入线程。如果线程是分离的,则终止线程后,线程的资源会自动释放。

参数:此方法接受强制性的参数线程,该线程是必须分离的线程的线程ID。

示例:线程的简单实现如下:

输出:

说明:这里在代码中创建了两个执行线程。取决于先前处理的线程,两个线程的输出线的顺序可以互换。主线程等待新创建的线程退出。因此,仅在新线程退出后才输出输出的最后一行。通过不使用pthread_join函数,线程可以彼此独立终止。如果我们想手动终止新线程,可以使用pthread_cancel来完成。

注意:如果我们使用exit()而不是pthread_exit()结束线程,则即使某些线程可能仍在运行,带有所有关联线程的整个过程也会终止。

免费领取学习资料及教程。+QQ群:560434603

搬瓦工机房方案整理

搬瓦工目前提供了4个方案,包括搬瓦工KVM方案搬瓦工CN2 GT方案搬瓦工CN2 GIA-E方案搬瓦工香港方案,每种方案有多种套餐配置,详细的配置和价格整理如下:
套餐名称 CPU 内存大小 硬盘容量 每月流量 带宽 价格/年 购买链接
搬瓦工CN2-E限量版(搬瓦工补货通知群(禁言,仅推送):903230558)
CN2 GIA LIMITED EDITION 1核 1 GB 10 GB 500 GB 1 Gbps $89.99 立即购买
搬瓦工CN2 GT方案
CN2 1核 1024 MB 20 GB 1000 GB 1 Gbps $49.99 立即购买
CN2 1核 2048 MB 40 GB 2000 GB 1 Gbps $99.99 立即购买
CN2 2核 4096 MB 80 GB 3000 GB 1 Gbps $199.99 立即购买
CN2 2核 8 GB 160 GB 5000 GB 1 Gbps $399.99 立即购买
CN2 3核 16 GB 320 GB 8000 GB 1 Gbps $799.99 立即购买
CN2大流量 3核 16 GB 320 GB 12000 GB 1 Gbps $899.99 立即购买
CN2大流量 3核 16 GB 320 GB 16000 GB 1 Gbps $1299.99 立即购买
搬瓦工CN2 GIA-E方案(可选搬瓦工DC9 CN2 GIA,搬瓦工DC6 CN2 GIA,搬瓦工日本大阪软银线路)
CN2 GIA ECOMMERCE 2核 1 GB 20 GB 1000 GB 2.5 Gbps $169.99 立即购买
CN2 GIA ECOMMERCE 3核 2 GB 40 GB 2000 GB 2.5 Gbps $299.99 立即购买
CN2 GIA ECOMMERCE 4核 4 GB 80 GB 3000 GB 2.5 Gbps $549.99 立即购买
CN2 GIA ECOMMERCE 6核 8 GB 160 GB 5000 GB 5 Gbps $879.99 立即购买
CN2 GIA ECOMMERCE 8核 16 GB 320 GB 8000 GB 5 Gbps $1599.99 立即购买
CN2 GIA ECOMMERCE 10核 32 GB 640 GB 10000 GB 10 Gbps $2759.99 立即购买
CN2 GIA ECOMMERCE 12核 64 GB 1280 GB 12000 GB 10 Gbps $5399.99 立即购买
搬瓦工香港方案
香港CN2 GIA 2核 2048 MB 40 GB 500 GB 1 Gbps $899.99 立即购买
香港CN2 GIA 4核 4096 MB 80 GB 1000 GB 1 Gbps $1559.99 立即购买
香港CN2 GIA 6核 8192 MB 160 GB 2000 GB 1 Gbps $2999.99 立即购买
香港CN2 GIA 6核 16384 MB 320 GB 4000 GB 1 Gbps $5899.99 立即购买
搬瓦工日本方案
日本CN2 GIA 2核 2048 MB 40 GB 500 GB 1.2 Gbps $899.99 立即购买
日本CN2 GIA 4核 4096 MB 80 GB 1000 GB 1.2 Gbps $1559.99 立即购买
日本CN2 GIA 6核 8192 MB 160 GB 2000 GB 1.2 Gbps $2999.99 立即购买
日本CN2 GIA 6核 16384 MB 320 GB 4000 GB 1.2 Gbps $5899.99 立即购买
搬瓦工KVM方案
KVM 2核 1024 MB 20 GB 1 TB 1 Gbps $49.99 立即购买
KVM 3核 2 GB 40 GB 2 TB 1 Gbps $99.99 立即购买
KVM 4核 4 GB 80 GB 3 TB 1 Gbps $199.99 立即购买
KVM 5核 8 GB 160 GB 4 TB 1 Gbps $399.99 立即购买
KVM 6核 16 GB 320 GB 5 TB 1 Gbps $799.99 立即购买
KVM 7核 24 GB 480GB 6 TB 1 Gbps $1,199.99 立即购买

标签: 国外云服务器 香港服务器 美国服务器 搬瓦工VPS

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~