- 博客(6)
- 收藏
- 关注
原创 系统编程--线程及其API
一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。第一个参数是指向线程标识符的指针,第二个参数可以用来设置线程属性,我们不需要设置,所以传递NULL。第三个参数是指向线程函数的指针,第四个参数是指向函数的参数的指针,必须强制转换为void *类型。pthread_join函数是让当前线程等待指定的线程结束,如果指定的线程已经结束,则其立即返回,否则将在指定的线程结束时返回。sem系列函数是Linux系统下标准的线程同步机制之一,用于进程内同步。
2023-05-24 12:58:11 59 1
原创 系统编程--进程
fork的一个用法是创建一个新进程(子进程)然后调用某个exec函数然执行另一个程序。当一个进程调用某个exec函数时,这个进程被新程序完全取代,而新程序开始执行它的main函数。在调用exec时进程的ID并没有发生变化,因为没有一个新的进程被创建;exec只是把当前的进程--它的代码、数据、堆和栈--替换为从硬盘而来的全新的程序。在系统编程中,进程通常是通过创建子进程来实现并发执行的。进程可以通过系统调用创建、销毁、等待和通信。进程是操作系统中的一个基本概念,它。6个不同的exec函数。
2023-05-23 10:18:47 81
原创 linux文件编程
O_TRUNC 属性去打开文件时,如果这个文件中本来是有内容的,而且为只读或者 只写成功打开,则将其长度截短为0。//ftell函数返回当前文件指针相对于文件头的偏移量,文件指针位于文件尾的话,那返回值就相当于文件长度了。写入文件需要使用系统调用 write(),它可以接受文件描述符、缓冲区地址、写入字节数等参数。上述代码打开了一个名为 file.txt 的文件,并以只读模式打开,返回一个文件描述符 fd。3.返回值:如果文件成功创建或打开则返回文件对应的文件描述符(大于0的整数),否则返。
2023-05-22 20:44:06 48 1
原创 socket编程
Tips: 代码中的 htons 和 htonl 并不是函数,只是一个宏定义,主要的作用在于为了避免大小端的问题,需要这些宏需要在我们的应用程序代码中包含头文件。Tips:bind()函数并不是总是需要调用的,只有用户进程想与一个具体的 IP 地址或端口号相关联的时候才需要调用这个函数。bind()函数用于将一个 IP 地址或端口号与一个套接字进行绑定(将套接字与地址进行关联)。是一个计算机函数,功能是将一个字符串IP地址转换为一个32位的网络序列IP地址。
2023-05-12 10:51:50 46 1
原创 进程的通信之消息队列
消息的链表,存在内核,有特定的ID。不随进程的消失而消失(独立性)有特定的格式和优先级随机性无论发送进程还是接收进程,都需要在进程空间中用消息缓冲区来暂存消息。该消息缓冲区的结构定义如下long mtype;/* 消息的类型 */可通过mtype区分数据类型,同过判断mtype,是否为需要接收的数据/* 消息正文 */mtext[]为存放消息正文的数组,可以根据消息的大小定义该数组的长度。
2023-04-09 10:27:25 53 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人