zoukankan      html  css  js  c++  java
  • 关于线程与进程

     线程与进程:

    进程:是并行执行的程序在执行过程中进行分配和管理资源的基本单位。

    线程:是进程的一个执行单元,比进程更小的独立运行的基本单位,也被称为轻量级进程,线程的引入减小了程序并发执行时的损耗,提高了操作系统的并发性能。

    进程分为单线程进程和多线程进程,单线程微观上只有单一的执行过程。多线程进程微观上有多个执行操作。

    从地址空间上看,同一进程的线程共享本进程的地址空间,但是进程之间的资源是独立的。

    从资源拥有的角度来看,同一进程内的线程共享本进程的资源,如IO、内存、CPU等,但是进程之间的资源是独立的。

    一个进程崩溃后,在保护模式下不会对其他进程产生影响。但是一个线程崩溃整个进程都会死掉,所以多进程要比多线程健壮、稳定。

    两者关系:

           1、一个线程只能属于一个进程,而一个程序可以有多个线程,但至少有多个线程。

           2、资源分诶给进程,统一进程的所有线程共享该进程的所有资源。

           3、CPU分给线程,即真正在CPU上运行的是线程。

           在界面进行复杂处理时一般使用多线程,

     线程处理

    新建一个Qthread类,C++下的C++ Class,基类不能选择Widget因为线程不是控件,基类选择Qobject再改为Qthread,

    函数名前的virtual代表虚函数,访问权限为保护类型。

    养成关闭线程的习惯,线程号是有限的,使用quit函数关闭线程,在使用wait函数等待当前线程处理完毕,将线程彻底关闭。

    在ui的主线程中进行设定好的不复杂的线程操作,并启动多线程,注意多线程的操作不能直接调用run函数,而是使用start间接调用run函数,thread.润()。

    在多线程设计界面,run函数为虚函数,与主线程不在一个线程,同时设置线程完成标志信号,用于通知主线程的多线程结束,

  • 相关阅读:
    故事讲的好,才会有人去思考:什么是成功的商业片——记《疯狂的石头》
    收集的特色flash网站
    pf负载均衡
    squid故障与解决方法汇总
    IIS7.0在Vista上的错误 0x80070021
    PF 默认会限制最大连接数5000问题
    Squid日志详解
    samba结合AD实现大型网络方案
    inotify监听+rsync
    AD帐号登陆samba自动创建主目录脚本
  • 原文地址:https://www.cnblogs.com/luxinshuo/p/12316112.html
Copyright © 2011-2022 走看看