进程及线程基本定义进程(process)
处于执行期的程序及其所包含资源的总称
程序:可执行程序代码
资源:打开文件、挂起信号、地址空间、数据段等
线程(thread)
进程中活动的对象
有独立的程序计数器、进程栈及一组进程寄存器
节省主存、减少管理开销、快速切换进程
资源分配单位
进程的上下文组成
进程控制块PCB:包括进程的编号、状态、优先级以及正文段和数据段中数据分布的大概...
实例011 弹出全屏显示的网页模式对话框
实例说明
弹出全屏显示的网页模式对话框,用户关闭之前不能浏览网站的其他内容。
技术要点
本实例主要应用screen对象的width、height属性和window对象的showModalDialog()方法实现。其实还有一种方法打开网页对话框,即showModelessDialog()方法。
...
线程属性属性值不能直接设置,须使用相关函数进行操作
初始化函数为pthread_attr_init,该函数必须在pthread_create函数之前调用typedef struct{
int detachstate; // 线程的分离状态
int scope; // 线程绑定状态
int schedpolicy; // 线程调度策略
struct sc...
线程互斥机制Mutex变量就像一把“锁”,是线程同步和保护共享数据的主要方式
Mutex可以用来阻止竞争
Pthreads中Mutex的基本概念
在任何时候,只有一个线程能够获得Mutex
尽管几个线程想获取一个Mutex,但是只有一个线程能够成功
其他线程需要等待,直到获取Mutex的线程放弃Mutex
线程必须轮流访问需要保护的数据
线程经常利用mutex来加锁需要更新的全局变量,...
在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用有限的内存的程序。
1...
在实际编程中,要尽量避免死锁情况的出现,但是有些面试中故意让你写一个死锁的程序,这似乎也不太简单(有些公司会出这样的面试题),下面讲解一个简单的死锁例子。
代码说明:
第一步:
当DeadLock的线程对象td1的属性flag为1时,第一个线程先锁定资源O1,睡眠500毫秒,然后尝试锁定资源O2(假如没有被锁定的话);
第二步:而第一个线程在睡眠的时候,第二个线程对象td2启动了,其属性f...
index ID NAME AGE 1 John 27 2 Lucy 27 3 Dan 26 4 Ben 30
#include #include #include #include /* * EOF: 符号常量,其值为-1. * fgets() 最多读取int-1个字符,遇换行或EOF即返回. * fputs() 写文件时,忽略字符串截止符'\0'. * fread()和fwrite() 数据块读写,多用于...
1.项目的搭建 1.1 创建文件 1.1.1 删除模板文件 --> viewController.Swift, main.storyBoard 1.1.2 创建项目结构, 主目录 Classess --> 二级目录Module(功能模块), Model(业务模型), Tools(工具)...