自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(6)
  • 收藏
  • 关注

转载 APUE 4 - 线程<2> : 线程同步

当控件的多个线程共享统一内存时,我们需要确定各个线程访问到的数据的一致性。在cpu结构中,修改操作由多个内存读写周期(memory cycle),而在这些内存周期之间, 有可能会发生其他线程的内存读操作,这样就会产生多线程之间的数据一致性问题。互斥锁 mutex我们可以通过线程互斥锁接口(pthreads mutual-exclusion interfaces)来保证...

2017-10-26 00:27:00 79

转载 APUE 4 - 线程 <I>: 概念

对传统的UNIX进程来讲,一个进程中只有一个线程,这就意味着一个进程在同一时刻只能做一件事(即使是多核CPU)。使用多线程技术, 我们可以设计程序使得一个进程在同一时刻做多件事。使用多线程编程具有以下优势:我们可以以独立线程分别处理其对应事件类型事件的方式来处理异步事件,以此来简化我们的编码。每个线程中就可以以同步编程(顺序编程)的方式来编程了。同步(顺序)编程要比异步编程简单的...

2017-09-30 17:04:00 83

转载 APUE 3 - 信号 (signal)<II>: 可靠信号

  一个事件可以使一个信号发送给一个进程,这个事件可以是硬件异常,可以是软件条件触发,可以是终端产生信号,也可以是一个kill函数调用。当信号产生后,内核通常会在进程表中设置某种形式的标志(flag)。我们可以认为当进程中的信号处理函数被触发的时候认为信号下达到了(delivered)这个进程。从信号产生到信号下达到进程这段期间,信号被认为是挂起状态(pending)。进程拥有阻塞信号下...

2017-09-21 16:21:00 109

转载 APUE 3 - 信号(signal)<I> :概念

  信号可以理解成一种软件中断。他提供了一种异步处理事件的方式。每个信号都有一个与之对应的信号名,这些信号名都带有SIG前缀,如:SIGABRT,SIGALARM。头文件signal.h 中定义了所有的信号名,他们值为正整数常量。事实上,实现将个别信号定义在不同的头文件中,只不过这些头文件又被包含在了signal.h中;这是因为内核不可能去包含应用于用户级别程序的头文件!因此,当用户程序...

2017-08-30 14:54:00 95

转载 APUE 2 - 进程组(process group) 会话(session) job

进程组(process group)进程组顾名思义是指一个或多个进程的集合。他们通常与同一个job(可以从同一个终端接收信号)相关联。每个进程组拥有一个唯一的Process Group Id。可以使用getpgrp或getpgid获取进程的Process Group Id: 1 #include <unistd.h> 2 3 /* 4 返回调用...

2017-08-28 10:46:00 122

转载 APUE 1 - Unix数据结构

Unix 类操作系统支持不同进程间共享文件。对于所有的I/O,内核使用3种数据结构来表示一个打开的文件。进程表。每个进程在进程表中有其相应的入口。文件结构中,每个进程表的入口是文件描述符表,每个文件描述符表中的文件描述符关联着两个东西,一个是此文件描述符的标志(一般指close-on-exec,如果此标志被设置了,那么进程在执行exec函数时,父进程中此文件描述符会被关闭)...

2017-08-28 09:54:00 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除