/*线程池*/ /*第四种 获取线程的方法:线程池*/ 一个ExecutorService,它使用线程池的可能的某个线程之一执行每个提交的任务,通常使用 Executors 工厂方法配置(ExecutorService service = Executors.newFixedThreadPool(5 ...
分类:
编程语言 时间:
2017-08-26 11:26:55
阅读次数:
208
如果我们需要优化kernel程序,我们必须知道一些GPU的底层知识,本文简单介绍一下GPU内存相关和线程调度知识,并且用一个小示例演示如何简单根据内存结构优化。 一、GPU总线寻址和合并内存访问 假设X指向一个32位整数数组的指针,数组首地址是0x00001232,那么一个线程需要访问第0个成员时是... ...
分类:
其他好文 时间:
2017-08-20 21:05:14
阅读次数:
283
一、状态 java线程存在以下几种状态: 1: 创建状态(New):线程被new出来,还未调用start 2: 就绪状态(Runnable):又称为可执行状态,调用线程的start方法后,线程处于就绪状态,,线程调度程序还未给该线程分配cpu时间片执行。 3: 运行状态(Running):线程调度程 ...
分类:
编程语言 时间:
2017-08-16 23:01:25
阅读次数:
262
一、创建操作: 1、观察者模式:RxJava的世界里,我们有四种角色: Observable<T>(被观察者)、Observer(观察者) Subscriber(订阅者)、Subject Observable和Subject是两个“生产”实体,Observer和Subscriber是两个“消费”实体 ...
分类:
编程语言 时间:
2017-08-11 13:24:45
阅读次数:
240
1. 操作系统模型 大多数操作系统中,都会把应用程序和内核代码分离执行在不同的模式下。内核模式訪问系统数据和硬件,应用程序执行在没有特权的模式下(用户模式),仅仅能使用有限的API,且不能直接訪问硬件。当用户模式调用系统服务时。CPU执行一个特殊的指令以切换到内核模式(Ring0),当系统服务调用完 ...
这一章节我们来具体讨论一下竞争条件。1.为什么会引起竞争条件?因为操作缺失原子性。2.什么是原子性?所谓原子操作是指不会被线程调度机制打断的操作;这样的操作一旦開始,就一直运行到结束。中间不会有不论什么 context switch (切换到还有一个线程)。3.分解上一章节转账的步骤:(1)读取某个 ...
分类:
编程语言 时间:
2017-07-31 14:39:55
阅读次数:
141
1.线程的6种状态(Thread.State) (1)New(新创建): new新线程,还未运行。 (2)Runnable(可运行) 调用start方法后。 (3)Blocked(被阻塞) 当前线程试图获取内部的对象锁但该锁被其他线程持有时,该线程进入阻塞状态;当其他线程释放该锁,且线程调度器允许本 ...
分类:
编程语言 时间:
2017-07-30 21:14:54
阅读次数:
268
PHP的异步、并行、高性能网络通信引擎swoole框架,在一开始我就比较注意,原因无他,php在swoole未出的情况下在多线程调度上确实算得上没有较好的解决方案。 我以系统的注册流程举例,在比较复杂的系统中,用户创建,需要同时做出很多相应的其他的操作,比如关联其他的业务表,发送邮件等操作是比较耗时 ...
分类:
Web程序 时间:
2017-07-29 10:21:23
阅读次数:
181
1、线程的模型 在Windows上,线程的模型大致为: 一个内核线程调用了多个用户线程,如果某一个用户线程阻塞了, 导致内核线程也阻塞了,进而影响了其他线程也被阻塞了,又因为 Windows上用户线程特别多,所以Windows的线程调度器是跑在用户 态上的,那么线程之间的切换就比Linux上快的多。 ...
分类:
编程语言 时间:
2017-07-20 23:48:37
阅读次数:
296
参考博客1:http://www.cnblogs.com/exe19/p/5359885.html参考博客2:http://www.jianshu.com/p/87bff5cc8d8c 1 . 线程池的体系结构 2 .线程池的使用 3 . ThreadPoolExecutor类 构造方法 publi ...
分类:
编程语言 时间:
2017-07-17 20:07:17
阅读次数:
153