- 博客(9)
- 资源 (28)
- 收藏
- 关注
原创 非阻塞SOCKET
在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室程序可以说是网上最简单的多点通信程序。聊天室的实现方法有很多,但都是利用所谓的“多用户空间”来对信息进行交换,具有典型的多路I/O的架构。一个简单的聊天室, 从程序员的观点来看就是在多个I/O端点之间实现多对多的通信。其架构如图一所示。这样的实现在用户的眼里就是聊天室内任何一个人输入一段字符之后,其他用户都可以得到这
2009-11-20 13:28:00 15900 1
原创 linux多线程学习(一)---线程基础
一.什么是线程 在一个程序里的多个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的一个控制序列”。 典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程以后,在程序设计时可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各只独立的任务。 二.线程的优点(1) 通过为每种事件类型的处
2009-11-19 16:17:00 1688
转载 C语言编译全过程
C语言编译全过程 编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.
2009-11-18 18:24:00 790
原创 linux多线程学习(五)---条件变量
1. 相关函数 #include pthread_cond_t cond = PTHREAD_COND_INITIALIZER; int pthread_cond_in
2009-11-11 16:07:00 1883
原创 linux多线程学习(三)——线程属性设置
在上一篇文章中,介绍了线程的创建和退出,以及相关函数的使用。其中pthread_create函数的第二个参数,是关于线程属性的设置,这也是今天所有讲述的。这些属性主要包括邦定属性、分离属性、堆栈地址、堆栈大小、优先级。其中系统默认的是非邦定、非分离、缺省1M的堆栈、与父进程同样级别的优先级。在pthread_create中,把第二个参数设置为NULL的话,将采用默认的属性配置。(1)邦定属性
2009-11-11 15:48:00 1567
原创 linux多线程学习(二)——线程的创建和退出
在上一篇文章中对线程进行了简单的概述,它在系统中和编程的应用中,扮演的角色是不言而喻的。学习它、掌握它、吃透它是作为一个程序员的必须作为。在接下来的讲述中,所有线程的操作都是用户级的操作。在LINUX中,一般pthread线程库是一套通用的线程库,是由POSIX提出的,因此他的移植性是非常好的。 创建线程实际上就是确定调用该线程函数的入口点,这里通常使用的函数是pthread_cr
2009-11-11 15:47:00 6641
原创 linux多线程学习(四)——信号量线程控制
在上一篇文章中,讲述了线程中互斥锁的使用,达到对共享资源互斥使用。除了使用互斥锁,信号量,也就是操作系统中所提到的PV原语,能达到互斥和同步的效果,这就是今天我们所要讲述的信号量线程控制。PV原语是对整数计数器信号量sem的操作,一次P操作可使sem减一,而一次V操作可是sem加一。进程(或线程)根据信号量的值来判断是否对公共资源具有访问权限。当信号量的值大于零或等于零的时候,该进程(或线程
2009-11-11 15:42:00 1333
原创 linux多线程学习(三)——互斥锁线程控制
在前面的文章中提及到,一个进程中的多个线程是共享同一段资源的,由于线程对资源的竞争引出了锁。其中mutex是一种简单的加锁方法,这个互斥锁只有两种状态,那就是上锁和解锁,可以把互斥锁看作是某种意义上的全局变量。在某一时刻,只能有一个线程取得这个互斥上的锁,拥有上锁状态的线程可以对共享资源进行操作,而其他线程在该线程未解锁之前,够会被挂起,直到上锁的线程解开锁。可以这么说,互斥锁使得共享资源按序的
2009-11-11 15:36:00 1527
原创 DSP/BIOS与main()函数关系
随着多线程技术的发展,原来委以重任的main()函数也逐渐的退化和冷落,现在变成了名不副实的“主函数”。在DSP/BIOS中也同样存在这样的问题,然而main()函数的作用依然不可忽略,其与DSP/BIOS的API函数的调用上存在一定的先后关系。 在DSP/BIOS应用程序中,main()函数用于实现用户的初始化操作,片内/片外外设的配置,以及势能单独的硬件中断等,然而,main()函数并不属于D
2009-11-10 14:59:00 3521 1
sscom5.13串口调试工具
2023-03-27
sttoolset-STM32读写HEX工具
2023-03-27
CmBacktrace开源代码,亲测可用
2023-03-27
PT1000 分度表C语言代码
2020-12-29
STM32_OS.zip
2020-06-17
Quartus_13.0_WinXp_32bit破解器
2013-06-24
Linux-C-编程一站式学习
2012-09-03
python教程pdf合集
2012-03-18
C语言函数速查手册--标准库函数
2010-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人