线程
使用情景
我对线程的理解是:一段代码在执行的过程中,有部分代码片段可能会阻塞,或者耗费时间比较长,另有一部分代码片段执行的时候不受这部分耗时代码或者阻塞代码的影响,我们就把这两个代码片段变成两个线程,把本来需要浪费在等待的时候用于执行不受影响的代码,达到节约时间,提高效率的目的。
随着线程概念的发展,线程的设计理念也从面向过程发展到面向对象,现在的设计代码的时候喜欢把不同的事务放到不同的线程中,从代码的角度来看,不同的事务代码也算弱关联的代码片段。
常用操作
int pthread_equal(pthread_t pid1,pthread_t pid2);
pthread_t pthread_self(void);
int pthread_create (pthread_t *restrict tidp,const pthread_attr_t *restrict attr, void* (star_rtn)(void*),void *restrict arg);
int pthread_cancel(pthread_t *tidp);
一个线程可以使用pthread_t中止另一个线程,效果和线程调用pthread_exit一样,只不过pthread_join等到的结果是PTHREAD_CANCELD