码迷,mamicode.com
首页 > 编程语言 > 详细

day9--多线程与多进程

时间:2017-09-08 00:09:26      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:线程   有一个   克隆   多线程   read   共享   系统   不能   进程   

    线程:

    什么是线程?

    线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务

    每一个程序的内存是独立的,互相不能直接访问。

    进程:

    以一个整体的形式暴露给操作系统管理,里面包含对各种资源的调用,内存的对各种资源管理的集合就可以称为进程。进程本身是不可以执行的,只是一堆指令,操作系统是线程执行的。

    表面看进程在执行,其实是线程在执行,一个进程至少包含一个线程。

    线程:线程就是可执行的上下文,CPU执行所需要的最小单位。CPU只负责运算。单核的CPU同时只能做一件事情,为什么我们可以切换各种程序,是由于CPU的执行速度很快,在来回切换,让我们看起来程序是执行多个进程。

    操作系统通过PID,进程ID来区分进程。进程标识符,PID。进程能够设置优先级。

    线程是有主线程创建的,primary thread;能够一直创建新的线程,Linux操作系统有一个主线程。

    线程和进程的区别:

    线程和进程比快是没有可比性的。

    1、线程共享内存空间,进程的内存是独立的;

    2、同一个进程的线程之间可以直接交流,两个进程想通信,必须通过一个中间代理来实现;

    3、新的线程容易创建,创建新线程需要对其父进程进行一次克隆;(parent process)

    4、一个线程可以控制和操作同一进程里的其他线程,但是进程只能操作子进程;

    5、线程之间数据可以交流,进程之间是不允许数据交流的。

 

day9--多线程与多进程

标签:线程   有一个   克隆   多线程   read   共享   系统   不能   进程   

原文地址:http://www.cnblogs.com/gengcx/p/7492395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!