
C
文章平均质量分 70
皮凯
软件测试
展开
-
strncpy的实现
char * strncpy(char *dst, const char *src, int size) {char *d, *end;}原创 2014-05-18 10:54:02 · 514 阅读 · 0 评论 -
c 解析命令行实现
int tokenizer_to_arg(const char* arg, char **arg_out) {}原创 2014-05-18 22:11:06 · 726 阅读 · 0 评论 -
线程属性总结
1. 读写锁属性2. 条件变量属性3. barrier属性它们都具有相同的属性 : PTHREAD_PROCESS_PRIVATE; PTHREAD_PROCESS_SHARED#include<stdio.h>#include<pthread.h>int main(){ pthread_barrierattr_t ba; int rc, sh...原创 2018-03-10 19:27:50 · 623 阅读 · 0 评论 -
线程pthread_cancel()函数
功能:调用线程终止同进程中,其他的线程,调用该方法后,被终止的线程并不一定立马被终止,只有在下次系统调用或调用了pthread_testcancel()方法后,才真正终止线程原型:int pthread_cancel(pthread_t pid)#include<stdio.h>#include<pthread.h>void *child(void *arg){ ...原创 2018-03-10 20:52:35 · 10029 阅读 · 6 评论 -
在多线程中使用fork函数导致死锁,以及解决方案
在多线程编程中,如果某个线程调用了fork()函数创建子进程,创建的子进程将继承父进程所有的锁。 如果在父进程中加锁了,而在子进程中对锁重新加锁,将会导致死锁,以下是导致死锁的代码#include<stdio.h>#include<pthread.h>#include<unistd.h>#include<wait.h>#incl...原创 2018-03-04 19:48:00 · 2120 阅读 · 0 评论 -
liunx 多线程读写锁
在lliunx多线程中,互斥锁和读写锁都起到了保护临界区资源的作用。互斥锁同时只允许一个线程进入到临界区,其他线程在获得锁之前都处于阻塞状态。读写锁同时允许多个读锁进入到临界区,但是同时只允许一个写锁进入临界区读写锁实例#include<stdio.h>#include<pthread.h>#include<unistd.h>#include<str...原创 2018-03-17 17:00:28 · 229 阅读 · 0 评论 -
linux c线程通讯pthread_cleanup_push()和pthread_cleanup_pop()
概要 在线程正常或非正常退出时都需要清理线程所占用的资源,pthread_cleanup_push 和 pthread_cleanup_pop函数在线程退出时可以执行指定清理函数 pthread_cleanup_pop(0),当调用了pthread_cancel() 函数或pthread_exit()时执行指定清理函数。一般pthrea...原创 2018-03-11 19:38:35 · 768 阅读 · 0 评论 -
线程属性
线程属性 线程属性使用pthread_attr_t结构表示,该结构在被处理前需要对其进行初始化,在使用结束后需要销毁该结构体。可以通过pthread_attr_init()函数进行初始化,pthread_attr_destroy()函数进行销毁 名称pthread_attr_init() / pthread_attr_destroy()功能对线程属性进行...原创 2018-03-07 08:04:36 · 1187 阅读 · 0 评论