
进程
文章平均质量分 97
Dio夹心小面包
"放弃学习的我们是没有翅膀的雄鹰 不会理智的我们是根茎腐烂的大树"
博客用于复习整理
展开
-
『 Linux 』高级IO (一)
而常常提到的非阻塞IO效率高的原因是在使用非阻塞IO模型时(可能是轮询也可能是信号驱动),在进行等待的过程中进程不会阻塞在原地一直等待至事件就绪,在非阻塞等待事件就绪的这个时间段进程可以去完成一些其他的任务,在总体的效率上提升效率;类型时,其中位图中的位标识对应文件描述符需要关心的对应事件是否就绪,而当该函数因某些文件描述符中的某些事件就绪后而返回,对应的事件类型中的位图将会被修改为事件已经就绪的文件描述符;上述中的模型中除了异步IO外,其他所有的IO模型执行流都将在事件就绪后去进行数据的拷贝操作;原创 2024-12-23 20:36:11 · 653 阅读 · 0 评论 -
『 Linux 』协议的定制
序列化与反序列化部分是属于协议定制的一部分,只需要修改头文件即可;这里为了方便后续的调试,使用条件编译来区别自定义序列化与反序列化和使用JSON进行的序列化与反序列化;// 编码函数,将文本编码成特定格式的字符串// 解码函数,从编码后的字符串提取出原始文本// "len"\n"num1 op num2"\n 或 "len"\n"result code"\n// 移除已提取的报文内容public:public:public:// 序列化请求对象,转为字符串。原创 2024-09-12 20:03:07 · 1423 阅读 · 0 评论 -
『 Linux 』多线程互斥锁
文章深入分析了互斥锁的原理及其原子性,阐明了互斥锁在多线程同步中的重要性,并展示了如何封装互斥锁以简化其使用。在实际应用中,通过正确使用互斥锁和其他同步机制,可以确保多线程程序的正确性和高效性。最后,文章深入分析了互斥锁的原理及其原子性,阐明了互斥锁在多线程同步中的重要性,并展示了如何封装互斥锁以简化其使用。在实际应用中,通过正确使用互斥锁和其他同步机制,可以确保多线程程序的正确性和高效性。原创 2024-07-30 17:57:19 · 1069 阅读 · 0 评论 -
『 Linux 』线程的资源共享,分离,以及多线程并发导致资源竞争
在多线程编程中,为确保线程安全和数据一致性,必须注意线程的资源共享和独立数据区。线程共享进程的大部分资源,如全局变量、堆、代码段等,但每个线程也有自己的独立数据区,如线程栈、线程局部存储等。这种共享和独立机制在提升多线程编程效率的同时,也带来了数据竞争问题。当多个线程同时访问和修改共享资源时,可能导致数据不一致的现象。因此,需要通过线程同步机制,如互斥锁、信号量等,来确保对共享资源的访问是原子性的,从而避免数据竞争问题,确保程序的正确性和稳定性。在实际应用中,合理利用这些机制可以有效提高多线程程序的性能和可原创 2024-07-29 21:16:13 · 536 阅读 · 0 评论 -
『 Linux 』线程控制
类型的参数以表示该线程的返回值,通常该值不能是线程栈上开辟的空间中的数据,必须是在非栈上这种共享空间中,因为该线程的生命周期已经结束,若是访问线程栈中的数据将会导致段错误;参数返回时不能直接返回线程栈上开辟空间的数据,因为线程的栈是其独立的,当程序执行完毕后表示该线程的生命周期结束,对应的其栈的空间将会被回收;查看当前对应运行进程中的轻量级进程的基本属性(该命令为内置命令,且Linux中不存在线程概念,所以查看的属性为轻量级进程的基本属性);通常着需要指向一个预先分配好的栈内存区域,并且栈的顶端应该对齐;原创 2024-07-28 20:37:40 · 741 阅读 · 0 评论 -
『 Linux 』线程概念
线程本质上是进程的一个执行分支,用于处理进程中的代码和数据;每个线程都可以执行独立不同的代码片段,这意味着在一个进程中可以同时执行多个任务;同一个进程中的所有线程共享相同的内存地址空间和资源(如全局变量,文件句柄等);使得线程之间的通信和数据共享十分搞笑,因为它们不需要像进程通信那样复杂的机制;在Linux中,线程在进程"内部"执行,线程在进程的地址空间内运行任何执行流要执行的前提是具有资源;进程地址空间是进程的资源窗口,线程在进程"内部"执行意味着其将执行进程代码的一部分;原创 2024-07-27 18:34:58 · 887 阅读 · 0 评论