嵌入式Linux中文站

Linux 多线程编程

阅读(276)

概念 原来指向main()的线程叫做主线程(main thread) 使用pthread_create()创建出来的线程,叫做子线程(child thread) 主/子线程只有在创建时才有区别, 创建完了就一视同仁, 都是一样的独立个体, 可以有交流、共享和私有, 但没有上下级, 这一点和多进程一样, 只有在创建的瞬间才有parent process 和child process 的区别, 创建完了就都是一样的独立个体 创建完子线程之后,两个线程之间独立运行,线程的执行先后次序由OS的调度算法决定 线程之

Linux IPC udp/ip socket 编程

阅读(218)

模型 # include unistd.h # include sys/types.h # include sys/socket.h # include netinet/in.h # include arpa/inet.h //服务器: socket() //创建socket struct sockaddr_in //准备通信地址 bind() //绑定socket和addr sendto()/recvfrom //进行通信 close() //关闭socket //客户端: socket() //创建s

Linux IPC socket编程基础

阅读(248)

头文件 # include unistd.h # include sys/types.h # include sys/socket.h # include sys/un.h # include netinet/in.h # include string.h # include arpa/inet.h socket() //创建网络端点,返回socket文件描述符,失败返回-1设errno int socket ( int domain, int type, int protocol) ; domain :

Linux IPC POSIX 消息队列

阅读(113)

模型: # include mqueue.h # include sys/stat.h # include fcntl.h mq_open() //创建/获取消息队列fd mq_get() //设置/获取消息队列属性 mq_send()/mq_receive() //发送/接收消息 mq_close() //脱接消息队列 mq_unlink() //删除消息队列 POSIX mq VS Sys V mq的优势 更简单的基于文件的应用接口 完全支持消息优先级(优先级最终决动队列中消息的位置) 完全支持消息到

Linux IPC System V 共享内存

阅读(207)

模型 # include sys/types.h # include sys/ipc.h # include sys/shm.h ftok() //获取key值 shmget() //创建/获取共享内存 shmat() //挂接共享内存 shmdt() //脱接共享内存 shmctl() //删除共享内存 ftok() //获取key值, key值是System V IPC的标识符,成功返回key,失败返回-1设errno //同pathname+同 proj_id==同key_t; key_t ftok

Linux IPC System V 消息队列

阅读(225)

模型 # include sys/types.h # include sys/ipc.h # include sys/msg.h ftok() //获取key值 msgget() //创建/获取消息队列 msgsnd()/msgrcv() //发消息到消息队列/从消息队列收信息 msgctl() //删除消息队列 ftok() //获取key值, key值是System V IPC的标识符,成功返回key,失败返回-1设errno //同pathname+同 proj_id==同key_t; key_t

Linux IPC System V 信号量

阅读(98)

模型 # include sys/types.h # include sys/ipc.h # include sys/sem.h ftok() //获取key semget() //创建/获取信号量集 semctl() //初始化信号量集 semop() //操作信号量集 semctl() //删除信号量集 ftok() //获取key值, key值是System V IPC的标识符,成功返回key,失败返回-1设errno //同pathname+同 proj_id==同key_t; key_t fto

Linux IPC POSIX 共享内存

阅读(276)

模型 # include unistd.h //for fstat() # include sys/types.h //for fstat() # include sys/mman.h # include sys/stat.h # include fcntl.h shm_open() //创建/获取共享内存fd ftruncate() //创建者调整文件大小 mmap() //映射fd到内存 munmap() //去映射fd shm_unlink() //删除共享内存 shm_open //创建/获取共享