中易网

什么时候需要用多进程而不是多线程

答案:2  悬赏:0  
解决时间 2021-04-08 15:03
什么时候需要用多进程而不是多线程
最佳答案
就算一段函数被加了同步锁 它也是可以被多个线程同时调用的 只是在多个线程之间会做一个CPU占用的协调 当一个线程调用完毕后 线程池中的其它线程才会通过这个函数
根据lock使用的对象不同 锁的作用域也不同 所以会出现LZ所说的 同时只能被一个线程调用

不知道LZ的目的和问题是什么 是在多线程调用时出错了 还是有特殊的需求 如果的确是要在不同的程序下调用dll 那不如每个程序都配置一份单独的dll来的更实在 因为考虑到dll之所以会只允许单线程调用 那么就意味着这个dll中有一些静态变量应用 同步调用时可能就会涉及到变量的使用冲突 所以建议先把那个dll搞明白 再想下一步该怎么去做

LZ没有提出是用什么语言编写程序 不同的语言在处理时也有各种区别
全部回答
■什么是多线程: 多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。 使用线程的好处有以下几点: ·使用线程可以把占据长时间的程序中的任务放到后台去处理 ·用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 ·程序的运行速度可能加快 ·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较游泳了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。 ==== ■什么是多进程: 进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就不必我多讲了吧,所有由你启动的进程都是用户进程。进程是操作系统进行资源分配的单位。 在windows下,进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。 在同一个时间里,同一个计算机系统中如果允许两个或两个以上的进程处于运行状态,这便是多任务。现代的操作系统几乎都是多任务操作系统,能够同时管理多个进程的运行。 多任务带来的好处是明显的,比如你可以边听mp3边上网,与此同时甚至可以将下载的文档打印出来,而这些任务之间丝毫不会相互干扰。那么这里就涉及到并行的问题,俗话说,一心不能二用,这对计算机也一样,原则上一个cpu只能分配给一个进程,以便运行这个进程。我们通常使用的计算机中只有一个cpu,也就是说只有一颗心,要让它一心多用,同时运行多个进程,就必须使用并发技术。实现并发技术相当复杂,最容易理解的是“时间片轮转进程调度算法”,它的思想简单介绍如下:在操作系统的管理下,所有正在运行的进程轮流使用cpu,每个进程允许占用cpu的时间非常短(比如10毫秒),这样用户根本感觉不出来cpu是在轮流为多个进程服务,就好象所有的进程都在不间断地运行一样。但实际上在任何一个时间内有且仅有一个进程占有cpu。 如果一台计算机有多个cpu,情况就不同了,如果进程数小于cpu数,则不同的进程可以分配给不同的cpu来运行,这样,多个进程就是真正同时运行的,这便是并行。但如果进程数大于cpu数,则仍然需要使用并发技术。 在windows中,进行cpu分配是以线程为单位的,一个进程可能由多个线程组成,这时情况更加复杂,但简单地说,有如下关系: 总线程数<= cpu数量:并行运行 总线程数> cpu数量:并发运行 并行运行的效率显然高于并发运行,所以在多cpu的计算机中,多任务的效率比较高。但是,如果在多cpu计算机中只运行一个进程(线程),就不能发挥多cpu的优势。 这里涉及到多任务操作系统的问题,多任务操作系统(如windows)的基本原理是:操作系统将cpu的时间片分配给多个线程,每个线程在操作系统指定的时间片内完成(注意,这里的多个线程是分属于不同进程的).操作系统不断的从一个线程的执行切换到另一个线程的执行,如此往复,宏观上看来,就好像是多个线程在一起执行.由于这多个线程分属于不同的进程,因此在我们看来,就好像是多个进程在同时执行,这样就实现了多任务.whoops,真绕口.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样拷贝网吧的游戏拿回家才可以玩
医院的医生是怎么确诊抑郁症的
房地产项目的调价原因主要有哪些方面
谷源道北京农业发展有限公司待遇怎么样
为什么大家都说潮辣火锅是用矿泉水做的火锅啊
海南南山寺门票优惠
信义超市怎么去啊,有知道地址的么
当一个男人对你残忍了,却又对你说对不起,这是
iPhone的免费看书阅读软件哪个好
北京的社保卡能取钱么
有谁知道为什么银川开不起来麦当劳 ?
( )的江水、( )的激流、( )的容貌、( )
以一次失败不代表永远失败为话题的一片议论文
临泉关庙客运站地址有知道的么?有点事想过去
为什么我求生之路2把人物声音替换了进游戏还
推荐资讯
儿童硬笔书法学习的初期,是不是描红为最好的
沙盘SBIE2203 连接 Sandboxie 服务失败: RPCS
赛车摩托车和汽车哪个更危险
什么地方下载广场舞视频方便?
装修完了业主拖着尾款不给咋办
为什么1050ti不如970m
安澜社工服务中心怎么去啊,有知道地址的么
信用卡将取消双标卡,那我的信用卡19年才到期
28岁女人做什么工作好
明朝徐达的儿子叫什么名字
选择一体式水冷还是分体式水冷好?
我的平板电脑为什么一打开就是一些黄色的图片
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?