进程和线程的概念,区别:

什么是线程????<br></br>首先,计算机所有指令的执行都是CPU运算,<br></br>CPU有规则,线程是操作系统能调度的最小单位<br></br>线程可以简单理解为一堆指令<br></br>做每一件事背后都是CPU在运算,例如画图、qq这些应用软件寄生在操作系统上<br></br>画图和qq是独立的软件,各自分一块独立的内存空间<br></br>硬盘--内存--CPU  慢--快<br></br>为了安全,画图软件的内存不能访问qq的内存<br></br>但是,qq或画图有一个整体的东西暴露给操作系统,这个整体的东西就是进程,里面包含对各种资源的调用<br></br>例如内存的管理,网卡的调用等,对各种资源管理的集合称为进程<br></br>线程:是操作系统最小调度单位,是一串指令的集合<br></br>进程:要操作CPU只能通过线程,所以必须要先创建一个线程,<br></br>简单理解,进程就是一个屋子是各种资源的集合,屋子里面的人可以认为是线程<br></br>一个进程要执行,至少需要一个线程<br></br>同一个进程里的所有线程共享同一块内存空间<br></br>进程里第一个启动的线程是主线程。<br></br>新的线程是由主线程创建,新的线程可以再创建别的线程<br></br>主线程和被创建的线程是独立平等关系。被创建之后他们就没有关系了<br></br>启动一个线程比进程快。<br></br>因为线程就是一堆指令,进程是一堆资源的集合<br></br>运行起来后都是一样的<br></br><br></br>进程与线程的区别:<br></br>1、线程共享内存空间,进程的内存是独立的<br></br>2、子线程和父线程之间共享进程的内存,数据是共享的,子进程和父进程克隆了一份内存,数据是独立的<br></br>3、同一个进程的线程之间可以直接交流,如果两个进程想通信,必须通过一个中间代理来实现<br></br>4、创建新线程很简单,创建新进程需要对其父进程进行一次克隆<br></br>5、一个线程可以控制和操作同一进程里的其他线程。但是进程只能操作子进程<br></br>6、对主线程的修改可能影响其他线程的行为,对父进程的修改不影响子进程<br></br>7、删除线程不影响同一进程里的其他线程,如果kill父进程,子进程也跟着没了<br></br><br></br>

标签: none

相关文章推荐

添加新评论,含*的栏目为必填