![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程通信
Nik_Talk
AIOT架构师
展开
-
基于多线程的TCP并发服务器
多线程的TCP并发服务器的实现步骤:1,创建一个socket套接字2,绑定IP地址和端口信息到socket,使用函数bind() 1)IP地址 2)bind3,设置允许的最大连接数,使用函数listen()4,等待来自客户端的连接请求,使用函数accept()5,收发数据,用函数recv(),send()/sendto()或者read(),write() 6,关闭网络连接,close 开始:建...原创 2020-01-18 16:40:10 · 1290 阅读 · 0 评论 -
线程控制之高级属性——互斥量,锁等功能实现
内容: 1,什么是一次性初始化? 例子1:pthread_once函数的一次性初始化验证: #include"stdio.h" #include"unistd.h" #include"sys/types.h" #include"pthread.h" #include"stdlib.h" #include"string.h" pthread_once_t once = PTHREAD_ONCE...原创 2020-01-17 19:47:59 · 259 阅读 · 0 评论 -
线程的控制之-线程同步(含读者与写者问题)及(生产者和消费者问题)
线程同步: 1,进程同步的方法 2,互斥量,读写锁,条件变量的区别 3,合理同步,避免死锁 <1>互斥量 1)为什么要使用互斥变量? 例子1:不加互斥量条件下,同一个共享变量(资源)在不同线程间苯调用,其值无法保证。导致结果不一;如下例全局共享变量变量i被线程1和线程2交叉调用会导致不同的输出结果; #include"stdio.h" #include"unistd.h" #...原创 2020-01-15 14:04:17 · 254 阅读 · 0 评论 -
多线程之线程的基本控制(含线程的创建和销毁等操作)
一,掌握线程的终止方式,线程的连接,退出操作,清理操作。 二,线程的清理操作是如何进行的? 【注】查看标准函数库的定义解释命令,如:man 3 exit1,线程终止 1)exit是危险的: 若进程中任意一个线程调用了exit(),_Exit(),_exit(),那么整个进程就会终止。 2)不终止进程的退出方式: 3)例子1;验证几种退出方式 建立文件test_several_exits.c;在...原创 2020-01-14 18:53:41 · 571 阅读 · 0 评论 -
多线程之线程的概念及创建,回收
一,多线程之线程的概念1,掌握先线程的基本概念,了解线程的优势 进程:资源分配的最小单位。 由于进程是资源的所有者;创建,撤消和切换资源都由进程来进行,涉及较大的时空开销以及多处理机(SMP)的出现。又因为一个进程包含多个线程这些线程可以共享同时享有该进程的资源,故引入线程。 线程:称为轻量级进程,程序执行的最小单位,系统独立调度和分配cpu的基本单位。 线程的优势:1)可同时共享一个资源(cpu...原创 2020-01-13 19:06:52 · 416 阅读 · 0 评论