2017年4月26日

pthread_create()的一个错误示例

摘要: 在这里主线程创建8个子线程,8个子线程都运行同一个函数PrintHello,休眠1s后打印传入的参数为t 运行结果如下,主线程打印完8条"Creating thread"后经过1s左右子线程打印8条"Hello from thread" 如果取消掉32行或33行的注释,则出现正确的结果: 那为什么会 阅读全文

posted @ 2017-04-26 16:00 枝桠 阅读(3236) 评论(0) 推荐(0) 编辑

关于fork()父子进程返回值的问题

摘要: 我们都知道,父进程fork()之后返回值为子进程的pid号,而子进程fork()之后的返回值为0。那么,现在就有一个问题了,子进程fork()的返回值是怎么来的?如果子进程又执行了一遍fork()函数,那么,按着完全复制的效果,父进程应该还会再fork()一次才对啊。 其实,在fork()函数执行中 阅读全文

posted @ 2017-04-26 09:56 枝桠 阅读(6085) 评论(1) 推荐(0) 编辑

2017年4月25日

设计“十字路口交通灯管理系统”

摘要: 设计“十字路口交通灯管理系统” 项目:一条主干道,一条乡间公路。组成十字路口,要求优先保证主干道通行。 设计要求: (1) 有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制; (2) 交通灯由绿→红有4秒黄灯亮的间隔时间,由红→绿没有间隔时间; 阅读全文

posted @ 2017-04-25 18:39 枝桠 阅读(2891) 评论(1) 推荐(0) 编辑

信号量实现生产者消费者模型

摘要: 本实验的代码中采用的有界缓冲区拥有3个单元,每个单元为5字节。为了尽量体现每个信号量的意义,在程序中生产过程和消费过程是随机(采取0~5s的随机时间间隔)进行的, 而且生产者的速度比比消费者的速度平均快两倍左右(这种关系可以相反)。生产者一次生产一个单元的产品(放入“hello”字符串),消费者一次 阅读全文

posted @ 2017-04-25 13:17 枝桠 阅读(1243) 评论(0) 推荐(0) 编辑

互斥锁不在同一个线程内引发的问题

摘要: 本实验创建了3个进程,为了更好的描述线程之间的并行执行, 让3个线程共用同一个执行函数。每个线程都有5次循环(可以看成5个小任务), 每次循环之间会随机等待1~10s的时间,意义在于模拟每个任务的到达时间是随机的,并没有任何特定的规律。使用互斥锁mutex完成互斥访问 1 #include <std 阅读全文

posted @ 2017-04-25 11:57 枝桠 阅读(635) 评论(0) 推荐(0) 编辑

2017年4月21日

proc伪文件系统 - 加载一个进程

摘要: 内核模块的编译方法及注意事项 Ubuntu内核(2.6.32) 2.6内核中,模块的编译需要配置过的内核源码;编译、链接后生成的内核模块后缀为.ko;编译过程首先会到内核源码目录下读取顶层的Makefile文件,然后再返回模块源码所在目录。 将上面代码保存成Makefile文件,放置在与hello. 阅读全文

posted @ 2017-04-21 17:29 枝桠 阅读(281) 评论(0) 推荐(0) 编辑

多线程实现奇偶统计v2 - 信号量实现

摘要: #include #include #include #include "pthread.h" #define WRITE_NUM 1000 #define OVER (110000) #define WRITE_SIZE 6 //写进程一次写的个数 int count=0; //统计已写的数据量 /* 设置一个整数的圆形缓冲区 */ struct prodcons { ... 阅读全文

posted @ 2017-04-21 17:23 枝桠 阅读(235) 评论(0) 推荐(0) 编辑

多线程实现奇偶统计v1 - 暴力版

摘要: 1 #include 2 #include 3 #include 4 #include "pthread.h" 5 #define BUFFER_SIZE 1600 6 #define OVER (110000) 7 /* 设置一个整数的圆形缓冲区 */ 8 struct prodcons { 9 int buffer[BUFFER_SIZE];... 阅读全文

posted @ 2017-04-21 17:22 枝桠 阅读(280) 评论(0) 推荐(0) 编辑

PAT程序设计

摘要: VS2013中自行对齐的快捷键操作: CTRL+K+F 1、定义二维数组 2、绝对值函数 输出前面补'0' ==>%02d ==>两位精度,0补齐 出错提示 term does not evaluate to a function 判断素数 输入字符串 VS2015中C代码报不安全 加一条指令 #p 阅读全文

posted @ 2017-04-21 17:18 枝桠 阅读(519) 评论(0) 推荐(0) 编辑

标准C++中的string类的用法总结

摘要: 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给 阅读全文

posted @ 2017-04-21 17:12 枝桠 阅读(143) 评论(0) 推荐(0) 编辑

导航