进程与线程
星星浩然
本人理工男,计算机科学技术专业,主要研究图像识别、机器学习方面。从事电信相关行业,个人喜欢阅读、历史、投资、IT技术。
请各位朋友多加关照!欢迎扫描头像二维码关注微信订阅号(或微信搜索“星星浩然”)。
展开
-
Linux fork 函数详解
一、fork入门知识 一个进程包括代码、数据和分配给进程的资源。fork函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同转载 2012-12-06 23:19:25 · 814 阅读 · 0 评论 -
[Linux内核设计与实现]Linux进程调度
进程调度可以看作在可运行态进程之间分配有限处理器时间资源的内核子系统。最大限度利用处理器时间的原则是,只要有可以执行的进程,那么总会有进程在运行。但是,只要系统中可运行状态的进程数量大于处理器个数,就会有进程不能运行,这些进程在等待运行。在一组处于可运行状态的进程中选择一个来执行,是调度程序所需要完成的基本任务。多任务系统可以分为两类:非抢占式多任务(cooperative multitaskin原创 2013-01-01 13:41:47 · 1286 阅读 · 0 评论 -
[Linux内核设计与实现]Linux进程管理
进程描述符及任务结构进程是Unix操作系统最基本的抽象之一(另一个抽象是文件)。进程是正在执行的程序代码的活标本,不但包括正在执行的代码还包括其他资源。比如打开的文件、挂起的信号、内核内部数据、处理器状态、地址空间及一个或者多个执行线程(thread of executing)、存放全局变量的数据段等。执行线程简称线程,是在进程中活动的对象。Linux线程是一种特殊的进程(共享资源原创 2012-12-24 23:19:48 · 1686 阅读 · 0 评论 -
Linux进程间通信与生产者消费者问题
生产者消费者问题(英语:Producer-consumerproblem),也称有限缓冲问题(英语:Bounded-bufferproblem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就原创 2013-01-20 20:43:48 · 7519 阅读 · 0 评论 -
Java同步之synchronized
Java中可以使用关键字synchronized进行线程同步控制,实现关键资源顺序访问,避免由于多线程并发执行导致的数据不一致性等问题。synchronized的原理是对象监视器(锁),只有获取到监视器的线程才能继续执行,否则线程会等待获取监视器。Java中每个对象或者类都有一把锁与之相关联,对于对象来说,监视的是这个对象的实例变量,对于类来说,监视的是类变量(一个类本身是类Class的对象,所以原创 2013-02-04 20:58:30 · 12743 阅读 · 0 评论