最近在研读chromium源码,经过一段懵懂期,查阅了官网和网上的技术文章,是时候自己总结一下了,首先IPC message loop开始吧,这是每个主线程必须有的一个IPC消息轮训主体,类似之前的quagga里thread。 首先来看看chromium的多进程模型: 图1 多进程模型 图1描述了c ...
分类:
系统相关 时间:
2017-10-18 16:09:44
阅读次数:
787
1、在非UI线程中创建fragment对象,然后start(fragment),在fragment的操作中用到了handler,这一会报错,handler can't create before loop.prepare()的错误。 原因:fragment 在子线程中创建,默认是绑定子线程的loop ...
分类:
移动开发 时间:
2017-10-17 21:49:59
阅读次数:
151
一、线程 1、线程:程序中单独顺序的控制流 线程本身依靠程序进行运行 线程是程序中的顺序控制流,只能使用分配给程序的资源和环境 2、单线程:程序中只存在一个线程,实际上主方法就是一个主线程 3、多线程:多线程是在一个程序中运行多个任务,目的:更好的使用CPU 二、线程的实现 1、继承Thread类 ...
分类:
编程语言 时间:
2017-10-17 14:58:22
阅读次数:
211
CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作 当需要解析一个Excel里面有多个sheet数据时,可以使用多线程,每个线程解析一个sheet里的数据。主线程等待所有线程执行完sheet的解析操作。 join用于让当前执行线程等待join线程执行结束 ...
分类:
编程语言 时间:
2017-10-16 13:35:00
阅读次数:
181
最近做项目遇到一个问题,需要在屏幕上实时的显示手的坐标,这样话就涉及到一个实时画图的问题了。对于实时更新UI这个问题,懂点android的都知道,android的UI更新都需要在主线程中更新,但是如果将一个实时绘图的操作放在主线程,必定会出现阻塞主线程的问题,即便是不阻塞主线程,也会降低程序运行的速 ...
分类:
移动开发 时间:
2017-10-14 18:45:55
阅读次数:
218
在4.0之后谷歌强制要求链接网络不能在主线程进行访问,所在主线程运行就会出现这个错误 解决错误必须要创建一个子线程 因为只有主线程(UI线程)才可以跟新UI(如果不这样,就会造成线程的同步与互斥的某些复杂情况。。。)∴如果在子线程中更新UI会出现错误 解决方法 :信息机制(handler原理) 1: ...
分类:
移动开发 时间:
2017-10-14 18:37:19
阅读次数:
208
主线程中也不绝对安全的 UI 操作 从最初开始学习 iOS 的时候,我们就被告知 UI 操作一定要放在主线程进行。这是因为 UIKit 的方法不是线程安全的,保证线程安全需要极大的开销。那么问题来了,在主线程中进行 UI 操作一定是安全的么? 显然,答案是否定的! 在苹果的 MapKit 框架中,有 ...
分类:
编程语言 时间:
2017-10-13 20:04:32
阅读次数:
205
一、什么是线程 在一个程序中的多个执行路线就叫做线程。更准确的定义是:线程是一个进程内部的一个控制序列。所有的进程都至少有一个线程。当进程执行fork调用时,将创建出该进程的一份新副本,这个新进程拥有自己的变量和自己的PID,它的时间调度也是独立的,它的执行几乎完全独立于父进程。当在进程中创建一个新 ...
分类:
编程语言 时间:
2017-10-12 23:13:37
阅读次数:
496
1:opengl 多线程共享纹理纹理: //解码时候使用opengl进行绘制,需要构建队列和两个线程,分别用于解码数据并且填充纹理和渲染。 主线程常见两个共享上下文: main() { ???? gHdc = wglGetCurrentDC(); gHRC1 = wglCreateContext(g ...
分类:
编程语言 时间:
2017-10-12 23:13:01
阅读次数:
579
通过compose操作符完成线程切换 使用: 线程的自由切换 通过 observeOn() 的多次调用,程序实现了线程的多次切换。 不同于 observeOn() , subscribeOn() 的位置放在哪里都可以,但它是只能调用一次的。 ...
分类:
编程语言 时间:
2017-10-11 11:13:39
阅读次数:
233