C语言实现多线程版聊天服务
摘要:一、概述 案例:C+pthread+socket实现多线程聊天服务,要求:服务端可以连接多个客户端,客户端发的消息,服务端再转发给客户端。 实现步骤: 1.创建监听文件描述符socket 2.绑定端口bind 3.监听端口listen 4.接收客户端请求,并在新的线程中执行(pthread+acce
阅读全文
posted @
2021-12-13 13:35
飘杨......
阅读(415)
推荐(0) 编辑
C使用信号量实现生产者消费者模型
摘要:一、概述 案例:编写一个案例代码,使用信号量(sem_t)来实现生产者消费者模型。 信号量:相当于多把锁,可以理解为加强版的互斥锁,其在一定程度上可以提高并发的效率 相关函数介绍: 相关函数 定义信号量 sem_t sem; int sem_init(sem_t *sem, int pshared,
阅读全文
posted @
2021-12-03 10:02
飘杨......
阅读(378)
推荐(0) 编辑
C实现读写锁
摘要:一、概述 案例:编写一个案例测试读写锁,要求:新建三个线程写,5个线程读,来测试读写锁。 读写锁的基本概念: 读写锁也叫共享-独占锁。当读写锁以读模式锁住时,它是以共享模式锁住的;当它以写模式锁住时,它是以独占模式锁住的。写独占,读共享。 读写锁的使用场合: 对数据结构读的次数远大于写的情况 读写锁
阅读全文
posted @
2021-12-01 14:42
飘杨......
阅读(1970)
推荐(0) 编辑
使用PThread+消息队列创建一个生产者消费者模型
摘要:一、概述 案例:使用pthread+消息队列(单链表环形队列) 实现生产者消费者模型 各个类的职责说明: 1.message_queue.cpp消息队列 ps:这个类最主要的方法有两个(这个类是线程安全的),一个是enqueueMessage(Message)向消息队列中放入数据,另一个是deque
阅读全文
posted @
2021-11-22 16:53
飘杨......
阅读(693)
推荐(0) 编辑
posix实现最简单的生产者消费者模型
摘要:一、概述 案例:使用posix线程模型,实现一个最简单的生产者消费者模型。用一个全局的int类型的变量来表示产品。用一个生产者线程生产产品,初始产品数量为0,只有当生产10个产品的时候,消费者线程才会启动,开始消费。 当消费者线程把产品消费完(产品数为0)的时候通知生产者继续生产产品,生产到10个再
阅读全文
posted @
2021-10-18 16:08
飘杨......
阅读(105)
推荐(0) 编辑
posix线程模型使两个线程共同完成从0~100的相加任务之和
摘要:一、概述 案例:使用posix线程模型编写一小案例:两个线程做加和操作,其中一个线程从1加到50,另外一个线程从51加到100.使其最后结果等于5050 二、示例代码 // 创建两个线程共同操作0~100相加 // Created by wei.yang on 2021/10/15. // #inc
阅读全文
posted @
2021-10-15 13:26
飘杨......
阅读(90)
推荐(0) 编辑
posix线程模型之创建一个简单的线程
摘要:一、概述 案例:使用posix线程模型创建一个线程,在线程执行方法中从0打印到9,并给执行方法传递参数。 二、示例图片 三、代码示例 // posix线程模型创建一个最简单的线程 // Created by wei.yang on 2021/10/15. // #include "create_a_
阅读全文
posted @
2021-10-15 10:31
飘杨......
阅读(127)
推荐(0) 编辑