今天由于项目需求(其实是某门课的一个大作业,不好意思说出口啊。。。),想要使用多线程。相信大家一般用的是linux上的POSIX C或windows上的线程库,然而这些线程库以来于特定系统,并不“标准”。2011年发布的C++11标准中提供了并发执行的相关操作:C++11 新标准中引入了四个头文件来...
分类:
编程语言 时间:
2014-06-28 14:43:56
阅读次数:
233
有时候我们会遇到这样的问题:做一个大的事情可以被分解为做一系列相似的小的事情,而小的事情无非就是参数上有可能不相同而已!
此时,如果不使用线程,我们势必会浪费非常多的时间来完成整个大的事情,而使用线程的话将会存在这样的问题:
主线程启动所有子线程并发执行后主线程就直接返回了,导致外部函数判读整个大的事情完成了,但是实际上并没有完成!
针对以上情况我想我会采用多线程方式执行同时解决主线...
分类:
编程语言 时间:
2014-06-27 10:23:41
阅读次数:
210
在介绍java内存模型之前,我们先看看两个内存模型
Sequential Consistency Memory Model:连续一致性模型。这个模型定义了程序执行的顺序和代码执行的顺序是一致的。也就是说 如果两个线程,一个线程T1对共享变量A进行写操作,另外一个线程T2对A进行读操作。如果线程T1在时间上先于T2执行,那么T2就可以看见T1修改之后的值。
这个内存模型比较简单,也比较直观,比较符合现实世界的逻辑。但是这个模型定义比较严格,在多处理器并发执行程序的时候,会严重的影响程序的性能。因为每次对共...
分类:
编程语言 时间:
2014-06-26 06:57:22
阅读次数:
538
多线程1.多线程的原理 1>.同一时间,CPU只能处理1条线程,只有1条线程在工作(执行) 2>.多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换) 3>.如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象如果线程非常非常多,会发生: 1>.CPU会在N多线程之间...
分类:
移动开发 时间:
2014-06-25 11:47:28
阅读次数:
283
boost::asio 在创建io_service时,可以指定线程数,如果没有指定,默认是一个线程,也就是io_service run的那个线程,如果没有任务运行,该线程会退出。 如果在创建的时候指定了线程数,那么io_service在执行的时候线程数就可以并发执行,如果你run的线程还是只有1.....
分类:
其他好文 时间:
2014-06-24 10:41:38
阅读次数:
132
Vector的使用
vector类底层数组结构的,它包含可以使用整数索引进行访问的组件。不过,vector的大小可以根据需要增大或缩小,以适应创建vector后进行添加或移除项的操作,因此不需要考虑元素是否越界或者会不会浪费内存的问题。
由vector的iterator和listIterator方法所返回的迭代器是快速失败的:也即是它不能并发执行操作。如果在迭代器创建后的任意时间从结构上修改了...
分类:
编程语言 时间:
2014-06-11 06:43:17
阅读次数:
327
前言:
进程的概念包含了两个不同的特点:1.资源所有权;2.调度/执行能力;
既然这两个特点是独立的,那么操作系统应该能够独立地处理它们,这就引出了线程的概念。为区分这两个特点,我们把分派的单位称为线程或者轻量级进程,而把拥有资源所有权的单位通常仍称为进程。
线程的概念:
指操作系统在单个进程内支持多个并发执行路径的能力。
线程的优点:
1....
分类:
编程语言 时间:
2014-06-01 17:27:47
阅读次数:
451
本章要点: 基础:进程描述及控制 策略:进程调度 实现:互斥与同步 避免:死锁与饥饿进程定义:
可并发执行的程序,在一个数据集合上的运行过程; 申请/拥有资源的最小单位; 程序定义:静态概念,是指令和数据的集合,可长期存储; 进程与程序对应关系:
一个程序可以对应一个进程或者多个进...
分类:
其他好文 时间:
2014-06-01 12:09:07
阅读次数:
210
在操作系统中,进程实体是指PCB+程序段+相关的数据段这里主要总结一下进程控制块作用:
使一个在多带程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程
或者,OS是根据PCB来对并发执行的进程进行控制的。 PCB常被OS访问,因此其应常驻内存中; 描...
分类:
其他好文 时间:
2014-05-31 01:24:29
阅读次数:
291
1. 进程调度the process scheduler is the component of a
kernel that selects which process to run next.进程调度器需要使 处理器使用率最大化,并且提供
使多个进程并发执行的虚拟Deciding which pr...
分类:
系统相关 时间:
2014-05-22 16:07:11
阅读次数:
505