网络编程–基础知识 Leave a reply 1、协议的概念 省略…… 2、B/S、C/S模型 C/S 优点: 协议选用灵活 缓存数据 缺点: 对用户安全构成威胁 开发工作量大,调试困难 B/S,与C/S相对 使用场景,根据优缺点对应 [……] 继续阅读
Linux编程–进程同步 Leave a reply 1、pthread_mutex_t实现进程锁 创建进程:fork 内存映射区:mmap 创建互斥锁:pthread_mutex_init 创建互斥锁属性:pthread_mutexattr_init 示例代码[……] 继续阅读
Linux编程–信号量 Leave a reply 1、相关函数 #include <semaphore.h> // 初始化 int sem_init(sem_t *sem, int pshared, unsigned int value); // 加锁信号量 int sem_wait(sem_t *sem); int sem_trywait(sem_t *sem); int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout); // 解除信号量 int sem_post(sem_t *sem); CCopy [……] 继续阅读
Linux编程–线程同步 Leave a reply 1、什么是同步? 同,指协同、协助、互相配合。主旨在协同步调,按预定的先后次序运行。 线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其它线程为保证数据一致性,不能调用该功能。 同步的目的,是为了避免数据混乱,解决与时间有关的错误。实际上,不仅线程间需要同步,进程间、信号间等都需要同步机制。 总结:所有“多个控制流,共同操作一个共享资源”的情况,都需要同步。[……] 继续阅读
Linux编程–线程 Leave a reply 1、什么是线程 LWP:light weight process轻量级进程,本质上仍是进程(Linux下) 进程独享地址空间拥有PCB,线程拥有独立的PCB,但共享地址空间 进程是最小的资源单位,线程是最小的执行单位 cpu根据线程来划分时间轮片,多线程能争取到更多的cpu资源 [……] 继续阅读