2018.11.21
郑老师TQL
什么是线程
将人比作一个进程,那么人可以边吃饭边玩手机,“吃饭” 和 “玩手机” 则为两个线程,线程可以同时执行,不分先后。
如何实现线程的运行和停止
简单的线程如下:
0.引用相关头文件
#include <pthread.h>
同时注意编译的时候要加入 -lpthread
参数来引用多线程库
1.编写线程函数
1 | void thread_testfunc(){ |
函数返回时线程消亡
在本例中,我们的线程需要持续反复一段代码,因此可在代码外部添加for (;;) {}
来达到此目的,如下
1 | void thread_testfunc(){ |
2.建立线程
线程标识符TID就像线程的名字,在线程创建时返回,用于线程的终止等操作。
1 | pthread_t tth; |
以上两条指令创建了一个线程来执行thread_testfunc
函数,并将它的TID
放到了变量tth
中。
3.终止线程
1 | pthread_cancel(tth); |
以上指令终止了TID
为tth
的线程。
实例
本程序实现了通过输入时间间隔控制响铃快慢的多线程实现
为了方便理解和测试,采用了单文件
1 | /* |