linux下的多进程和多线程,他们分别有什么作用?
首先,Linux多线程和多进程的作用其实作用都差不多,主要是为了完成并发任务。
其次,我们再来看看什么是进程,什么是线程,以及它们之间的关系。
线程是执行体,用来执行我们写的代码或指令,多个线程可以同时执行。
进程是容器,包含了线程执行所需要的一切系统资源,线程只能在进程空间中执行,进程中可以包含多个执行线程,但只有一个主线程,我们代码中包含main函数的线程也就是进程中的主线程。
进程本身是不活跃的,在Linux中,如果进程中的所有执行线程都已经退出,而父进程没有捕获子进程结束的信号,此时该进程则会变为僵尸进程,该进程不占CPU时间,但会占据系统资源,如果大量存在,必定会导致系统资源被耗尽,导致死机。
通俗的比喻就是,操作系统就像一个手工作坊,进程就相当于作坊中一个个独立的工作车间,而线程就相当于车间中真正劳作的工人,没有工人的车间是无法进行生产的。
进程空间之间彼此隔离,可以说互不影响,就相当于上述手工作坊中的两个车间中都有个叫张三的人,但其中一个因为上班时间玩手机被老板开除了,而另一个车间中的张三却不会受到任何影响。(当然,这不是绝对的,Linux子进程会在创建初期共享父进程的进程空间,而vfork系统调用会导致这种共享一直存在,导致父进程中的变量修改会影响子进程数据,而fork则采用写时拷贝技术来避免了这个问题)。
由于进程的这种隔离性,进程之间共享数据和通信也变得麻烦许多,一般的技术手段就是管道,POSIX信号,System V信号,共享内存,Socket网路通信等等。
线程之间也没有进程那么麻烦,它们是共享整个进程空间的,这就像车间里要开小组会议,一个人发言的时候大家都能听到,但这又造成了另一个问题,毕竟一个车间十来号人,难免人多嘴杂,怎么保证一个人发言的中途没人插嘴呢,这就是线程同步的问题,一般的技术手段就是信号量,互斥锁,读写锁,文件锁等等。
当然,多线程中同步的问题在多进程中依然会遇到,解决办法自然也就和多线程差不多。
丧尸围城4隔离站里面的图纸怎么拿?
在《丧尸围城4》中,要获取隔离站的图纸,玩家需要完成以下步骤:
1. 前往隔离站,进入中央区域。
2. 找到一扇大铁门,进入后上楼梯来到二层。
3. 在二层中,会看到一个被链条锁住的房间,需要使用特殊工具或能力来破坏链条。
4. 进入房间后,在桌子上可以找到图纸。
请注意,游戏版本更新可能会导致攻略内容失效,因此建议在游戏官网或玩家论坛上查看最新攻略以获取准确信息。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!了解更多关于隔离区丧尸末日生存武器组件组装方法的信息可以在站内搜索。