使用三个线程完成两个文件的拷贝,分支线程1,拷贝前一半,分支线程2拷贝后一半,主线程负责回收资源
快速算法排序的思想
先任意选定一个数据元素当做基准,将剩余元素跟基准进行比较,分为大小两部分,然后对每一个部分再进行上述操作,直到每部分只有一个元素为止,则排序结束
(在一个无序的序列中选取一个任意的基准元素pivot,利用pivot将待排序的序列分成两部分,前面部分元素均小于或等于基准元素,后面部分均大于或等于基准元素,然后采用递归的方法分别对前后两部分重复上述操作,直到将无序序列排列成有序序列。)
IO进程线程
标准IO和文件IO的区别:1
都可以进行文件读写操作,都会进行系统调用,标准IO=系统调用+缓冲区
标准IO有缓冲区,文件IO没有缓冲区
使用标准10可以减少系统调用的次数,提高系统效率,执行效率更高,文件IO执行效率低文件IO使用文件描述符,标准IO使用文件指针
如何将程序执行直接运行于后台?
1、 ./a.out + &
2、先将进程ctrl+z 暂停,然后通过指令jobs -l 查看作业号,通过bg+作业号,让其在后台运行。
多线程较较多进程的优势?
都是时间片轮询上下文切换的调度规则,都是可以进行多任务同时处理
线程是调度的最小单位,任务器调度效率更高,
进程是资源分配的最小单位,一个进程由多个进程组成,
进程创建需要单独申请空间,而线程创建不需要单独创建空间,共享其所在二进程的资源
线程的调度所需开销较小,并且线程所占资源较少
线程切换速度比进程切换快,效率高
简述创建子进程中的写时拷贝技术
当fork创建一个子进程时,父子进程使用的都是父进程对应的物理内存的映射,如果子进程对内存进行写操作时,才会给子进程分配新的物理内存的相关映射单元