C语言
C
mygfze
这个作者很懒,什么都没留下…
展开
-
C语言 查看如何存储数字
#include <stdio.h>typedef unsigned char *byte_pointer;void show_bytes(byte_pointer start,size_t len){ size_t i; for(i = 0;i<len;i++) printf(" %.2x",start[i]); printf("\n");}void show_int(int x){ show_bytes((byte_po原创 2020-08-02 09:51:23 · 246 阅读 · 0 评论 -
Linux C pthread mutex 互斥
pthread_mutex_t是一个互斥量互斥量:只有两种值0/1 被访问/未被访问信号量:多种值,资源可以很多而互斥量可以实现信号量 实现PV操作pthread_cond_t是来wait 和 wakeup的生产者 消费者问题:#include <stdio.h>#include <pthread.h>#include <stdlib.h>#define MAX 1000pthread_mutex_t the_mutex;pthread_cond_t原创 2020-06-28 14:45:40 · 131 阅读 · 0 评论 -
Linux C Peterson解决线程同步问题
Peterson 是纯软件方法解决线程同步Peterson解法有很多局限性,只能用于两个线程之间,而且必须保证处理数据是原子的Peterson部分int turn; // 现在轮到谁int interested[N]; // 初始化为FALSEvoid enter_region(int threadId) // 线程号,0/1{ int other = 1 - threadId; // 代表另外的那个线程原创 2020-06-27 15:42:05 · 354 阅读 · 0 评论 -
Linux C pthread
gcc <文件名>.c -lpthread -o <文件名>pthread不是Linux c 标准库。本来是看着《现代操作系统》写的,但是《现代操作系统》的代码跑不动,找了一个博主能跑的,但他写的真是…一个能跑的简单线程代码#include <stdio.h>#include <pthread.h>#include <stdlib.h>#define NUMBER_OF_THREAD 10void thread(void){原创 2020-06-27 14:36:23 · 666 阅读 · 0 评论 -
Linux C语言进程 fork函数及管道
Linux C语言创建子进程比较方便。以下代码均需在Linux环境下运行利用fork()函数fork函数会返回两次。当返回值为0,即为子进程。返回值为1,为父进程。另外 getpid()可以返回当前进程id。int main(){ pid_t pid; pid = fork();//创建进程 获取id if (pid == 0)//子进程 { printf("i am the child proces原创 2020-06-23 16:30:43 · 369 阅读 · 0 评论