会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
野原丶广志
博客园
首页
新随笔
联系
订阅
管理
2023年11月23日
socket 的阻塞模式和非阻塞模式
摘要: 1.socket 的阻塞模式和非阻塞模式 在阻塞和非阻塞模式下,常讨论的具有不同行为表现的 socket 函数一般有 connect、accept、send 和 recv。在 Linux 上对 socket 进行操作时也包括 write 函数和 read 函数。 在 Linux 上, 可以使用 fc
阅读全文
posted @ 2023-11-23 11:33 野原丶广志
阅读(1833)
评论(0)
推荐(1)
2023年11月22日
select函数的用法和原理
摘要: Linux 上的 select 函数 select 函数用于检测在一组 socket 中是否有事件就绪。事件分为以下三类: 读就绪事件 在 socket 内核中,接收缓冲区中的字节数大于或等于低水位标记 SO_RCVLOWAT,此时调用 recv 或 read 函数可以无阻塞地读该文件描述符,并且返
阅读全文
posted @ 2023-11-22 17:58 野原丶广志
阅读(260)
评论(0)
推荐(0)
Linux条件变量
摘要: 1.为什么要有条件变量? 在实际应用中,常常会有如下的需求: 用于反复判断一个多线程的共享条件是否满足。 //伪代码 int WaitForTrue() { do{ pthread_mutex_lock(&m); //验证 condition 是否为 true //解锁,让其它线程有机会改变cond
阅读全文
posted @ 2023-11-22 09:10 野原丶广志
阅读(172)
评论(0)
推荐(0)
2023年11月21日
生产者-消费者代码实现
摘要: #include <pthread.h> #include <errno.h> #include <list> #include <iostream> #include <semaphore.h> #include <unistd.h> class Task { public: Task(int t
阅读全文
posted @ 2023-11-21 11:35 野原丶广志
阅读(32)
评论(0)
推荐(0)
-lpthread
摘要: thread_create函数编译时报错:undefined reference to 'pthread_create' pthread 库不是 Linux 系统默认的库,所以在编译使用pthread_create()创建线程的程序时,需要显式指定 -lpthread参数。 g++ thread.c
阅读全文
posted @ 2023-11-21 11:33 野原丶广志
阅读(53)
评论(0)
推荐(0)
2023年10月11日
左值、左值引用、右值、右值引用
摘要: 1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; 右值是在赋值号右边取出值赋给其它变量;右值可以在内存也可以在CPU寄存器。 一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。 2、引用 引用是C++语法做的优化,引用的本质是还是靠
阅读全文
posted @ 2023-10-11 21:49 野原丶广志
阅读(45)
评论(0)
推荐(0)
公告