linux几种创建进程的方法

在Linux中主要提供了fork、vfork、clone三个进程创建方法。 在linux源码中这三个调用的执行过程是执行fork(),vfork(),clone()时,通过一个系统调用表映射到sys_fork(),sys_vfork(),sys_clone(),再在这三个函数中去调用do_fork()去做具体的创建进程工作。 fork fork创建一个进程时,子进程只是完全...
阅读全文

unix进程间的通信方式

1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。(3)信号(Signal):信号是比较复杂的通信...
阅读全文

进程、挂起、线程、死锁、中断、陷入······

进程:程序的一次执行过程。进程是动态的,而程序是静态的。进程有五种状态,三种基本状态,四种特征,是系统资源分配和调度的独立单位。程序段,相关数据段,进程控制块(存了四种信息)构成了进程实体。挂起为了系统和用户观察和分析进程的需要,还需引用挂起操作:如果进程正在执行,它将暂停执行,暂不接受调度。与挂起操作对应的是激活操作。挂起的引入有四种原因。线程:引入原因:提高资源利用率和系统...
阅读全文

互联网测试与传统测试的不同

1.测试周期较短,产品功能更新上线较快测试完了一般直接就发布了,所以不像传统的软件有那么长的测试周期,包括internal beta,external beta等过程,而且我了解到的情况,很多基于web的互联网产品平均一天有多个发布,可大可小。所以发布可能就成了测试人员的工作,当然有相关的系统的支持。 这里还需要考虑的问题是常见的基于各种条件的灰度发布,先让部分用户用起来。发布完了之后还要做现...
阅读全文

找出单链表中的倒数第k个元素

解题思路: 为了求出链表中的倒数第k个元素,最容易想到的方法是首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第k个,转换为正数第nk个,接下去遍历一次就可以得到结果。不过这种方法需要对链表进行两次遍历,第一次遍历用于求解单链表的长度,第二次遍历用于查找正数第nk个元素。 如果沿从头至尾的方向从链表中的某个元素开始,遍历k个元素刚好到达链表尾,那么元素就是要找的倒数第k个元素。设计如...
阅读全文

1~10的序列,一次取一个或者连续的两个;最后取的获胜。第一个取的怎么取才能肯定获胜

这类题型的解法较为简单。即从一个N长序列中取出m个或n个,问第一次取几个可以获胜。解为N/(m+n)的余数,如该题第一次只需取1个,剩下9个,对方取1,己方取2,对方取2,己方取1,即可确保获胜。该题可扩展为多序列多取法题型,参考知乎问题 三堆数量随机的石头,两个人轮流从其中一堆中拿走任意数量的石头,拿走最后一块的人输,必胜法是什么?
阅读全文

如何测试一个登陆界面

当我们写一个登陆界面,为使其更好的工作,也为了有更好的用户体验,我们需要对登陆界面进行如下的测试。一般情况下,我们在测试之前,首先要明白的一件事是:弄懂需求,没有需求的测试都是扯淡。例如:一个网站,需要有这样一项该网站最多只有5个人来进行同时访问。如果我们知道这个需求,在我们测试的时候就需要在性能测试中测试并发数很高的测试用例。用户需求:有一个登陆界面,界面中有两个textbox,...
阅读全文

多线程同步的方法

线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。1)互斥锁(mutex)通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。```cint pthread_mutex_init(pthread_mutex_t mutex,const pthread_m...
阅读全文

进程与线程

一、线程与进程的区别先简单说说线程与进程的概念: (1)进程是指一个内存中运行的应用程序,比如在Windows系统中,一个运行的exe就是一个进程。 (2)线程是指进程中的一个执行流程。区别:一个程序至少有一个进程,而一个进程至少有一个线程。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。而线程则是指进程中的一个执行...
阅读全文

TCP三次握手与四次挥手过程

首先,客户端与服务器均处于未连接状态,并且是客户端主动向服务器请求建立连接:客户端将报文段中的SYN=1,并选择一个seq=x,(即该请求报文的序号为x) 将这个报文发送到服务器。此时,客户端进入同步已发送状态(SYNSEND).SYN报文段不能携带数据,但是要消耗掉一个序号。服务器收到请求报文后,若同意建立连接,则回复报文中,SYN=1,ACK=1,并选择一个seq = y,且...
阅读全文