自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux--多线程之线程资源回收pthread_cleanup_push和pthread_cleanup_pop

#include "apue.h"/**作用:线程结束后的资源回收1.pthread_cleanup_push与pthread_cleanup_pop要成对使用 否则编译器会瞎报错误 pthread_cleanup_push的执行顺序和声明顺序相反 当相遇取消请求时 清理函数对也生效*/void cleanup(void *ar){ printf(" %s \n",(ch

2016-12-03 19:46:21 606

原创 Linux--多线程之线程的取消pthread_cancel

#include "apue.h"/**pthread_cancel(pthread_t tid) 取消tid指定的线程 成功返回0 取消只是发送一个请求 会不正常的终止线程pthread_setcancelstate(int state,int *oldstate) 设置本线程对cancel信号的反应 state有两种值PTHREAD_CANCEL_ENABLE(缺省) 和PTHRE

2016-12-03 19:43:29 1534

原创 Linux--多线程之线程连接pthread_join

#include "apue.h"/**1.main函数的线程称为初始线程或主线程,主线程在main函数返回的时候,会导致整个线程结束。可以在主线程中使用pthread_exit函数 退出主线程 如此,进程会等待所有的线程结束时候才终止当一个线程被pthread_join之后 另外一个线程不能再pthread_join它*/struct person{ int age; cha

2016-12-03 19:42:04 1724

原创 Linux--多线程之线程的创建和退出

#include "apue.h"/**1.main函数的线程称为初始线程或主线程,主线程在main函数返回的时候,会导致整个线程结束。可以在主线程中使用pthread_exit函数 退出主线程 如此,进程会等待所有的线程结束时候才终止*/struct person{ int age; char name[10];};void *thread_fun(void *person

2016-12-03 19:39:06 9945 1

原创 Linux--多线程之互斥量

#include "apue.h"/**动态分配的互斥量 使用pthread_mutex_init 函数初始化冬天分配的互斥量 在释放内存钱 需要调用pthread_mutex_destroy静态分配的互斥量 可以将其设置为常量:PTHREAD_MUTEX_INITIALIZER*///线程共享资源int i;pthread_mutex_t mutex;void *thre

2016-12-03 19:36:10 291

原创 Linux --多线程之读写锁2

#include "apue.h"/**读写锁:和互斥量类似 然读写锁并行性更高 如,对于一个变量的读取是可以多个线程并行的读写锁有三种状态 读模式下的加锁,写模式下的加锁,不加锁。一次只有一个线程可以占有写模式下的读写锁 但是多个线程可以同时读模式下的读写锁读写锁在写加锁状态时,在它被解锁前,试图对这个锁加锁的线程都会阻塞 读写锁在读加锁状态时 所有试图以读模式 对其加锁的线程

2016-12-03 19:09:56 347

原创 Linux --多线程之读写锁1

#include "apue.h"/**读写锁:和互斥量类似 然读写锁并行性更高 如,对于一个变量的读取是可以多个线程并行的读写锁有三种状态 读模式下的加锁,写模式下的加锁,不加锁。一次只有一个线程可以占有写模式下的读写锁 但是多个线程可以同时读模式下的读写锁1.读写锁在写加锁状态时,在它被解锁前,试图对这个锁加锁的线程都会阻塞 2.读写锁在读加锁状态时 所有试图以读模式 对其

2016-12-03 19:07:35 257

原创 Linux--闹钟信号

#include "apue.h"void fun(int sig){ printf("========fun======\n");}main(int a,char *b[]){ int i=0; alarm(5);//10秒后发闹钟信号 该信号默认处理方式会终止当前的进程 signal(14,fun); // signal(14,SIG_IGN); signal(14

2016-12-02 18:07:11 905

原创 Linux--共享内存

#include "apue.h"main(){ int id; //创建共享内存 id=shmget(IPC_PRIVATE,128,0777); if(id<0){ printf("create share memmory fail \n"); }else{ printf("create share memmory succusess id=%d\n",id); s

2016-12-02 17:57:13 349

原创 Linux--共享队列2

//发送端#include "apue.h"struct msgbuf{ long type; char voltage[128]; char ID[4];};main(){ int id,key; struct msgbuf sendbuf; //创建key key = ftok("./apue.h",'a'); if(key<0){ perror("fail to

2016-12-02 17:53:22 461

原创 Linux--共享队列1

#include "apue.h"struct msgbuf{ long type; char voltage[128]; char ID[4];};main(){ int id; struct msgbuf sendbuf,readbuf; //创建共享队列 id=msgget(IPC_PRIVATE,0777); if(id<0){ printf("fail t

2016-12-02 17:51:10 402

原创 Linux--有名管道

#include "apue.h"//在当前目录创建一个管道文件main(){ int ret; //会在当前目录下生成一个特殊的不占空间的文件 在共享的window目录下执行 会没有权限 //umask 命令可以设置生成的文件的权限 ret = mkfifo("./myfifo",0777); if(ret<0) { printf("fail to mkfifo

2016-12-02 17:47:31 240

原创 Linux--无名管道

#include "apue.h"//无名管道的读阻塞main(){ int fd[2]; int ret; //初始化管道 ret=pipe(fd); if(ret<0){ printf("fail to create pipe\n"); return -1; } printf("success to create pipe ret=%d fd[0]=%d fd[1]=

2016-12-02 17:42:34 297

Snipaste-2.3-Beta-x64.zip

Snipaste是一个简单但功能强大的截图工具,还允许您将屏幕截图固定在屏幕上。 下载并启动应用程序,按F1键开始剪裁,然后按F3键将其粘贴为浮动窗口。 而已! 您还可以将剪贴板中的文本或颜色信息转换为浮动图像窗口。 这样的窗口可以缩放,旋转,翻转,设置为半透明甚至点击即可! 如果您是程序员,设计师或在计算机前工作了很多时间的人,您会惊讶于它如何帮助您更有效地完成工作! Snipaste-2.3-Beta-x64. Snipaste易于使用且直观,但是还有许多隐藏的功能可以使您的生活更加高效。 如果您有兴趣,请阅读手册。

2020-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除