linux api笔记(4):线程(二)
这一节我们来看看其他线程函数:
int pthread_tryjoin_np(pthread_t thread_handle, void ** thread_return);
int pthread_timedjoin_np (pthread_t thread_handle, void **thread_return, __const struct timespec *abstime);
pthread_tryjoin_np会可以用来判断thread_handle指向的线程是否已经中止,如果没有则*thread_return == NULL,
否则不为NULL。这个函数不会阻塞线程。
pthread_timedjoin_np也是用来判断thread_handler执行的线程是否已经中止,不过它和pthread_tryjoin_np不同的
地方是,它会阻塞所在线程一段时间来等待目标线程,这个时间由abstime参数来指定。
timespec结构的如下:
#include <time.h>
struct timespec {
time_t tv_sec;
long tv_nsec;
}
字段tv_nsec表示纳秒。
相关文档:
假设两个进程(父子进程)对一个文件进行写操作,但是这个文件同一时间只能有一个进程进行写操作。
//利用信号量实现pv操作
#include <stdio.h>
#include <stdlib.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include < ......
最近准备学习一下操作系统原理,于是照例记录一些重要的东西。
1. 操作系统的功能
从资源管理的角度来看,操作系统的功能一般分为5种:
1.1 存储管理
存储管理就是管理计算机有限的内存空间,包括:存储分配、存储安全和 ......
格式:ls [options] [filename]
作用:显示目录内容,类似dos的dir
常用参数:
-a 不隐藏任何以"."字符开始的文件
-l 使用较长的格式显示信息
-r 按照文件名的逆序打印输出
-F 加上文件类型的指示符
格式:cat [options] [filename]
作用:显示文件的内容,是concat ......
前言:目前正在忙于ARM平台的Linux应用程序的开发(其实是刚刚起步学习啦)。底层的东西不用考虑了,开发板子提供了NAND Bootloader,和Linux 2.6的源码,而且都编译好了。自己编译的bootloader可以用,但是Linux编译后,文件很大,暂且就用人家编译的系统,先专心写应用程序 吧。。
正文:要做的任务是,把一块板子上的 ......