阅读目录 一 什么是线程 二 线程的创建开销小 三 线程与进程的区别 四 为何要用多线程 五 多线程的应用举例 六 经典的线程模型(了解) 七 POSIX线程(了解) 八 在用户空间实现的线程(了解) 九 在内核空间实现的线程(了解) 十 用户级与内核级线程的对比(了解) 十一 混合实现(了解) 一 ...
分类:
编程语言 时间:
2018-01-18 00:58:24
阅读次数:
214
最近群里聊起秒杀和限流,我自己没有做过类似应用,但是工作中遇到过更大的数据和并发。 于是提出了一个简单的模型: var count = rds.inc(key); if(count > 1000) throw "已抢光!" 借助Redis单线程模型,它的inc是安全的,确保每次加一,然后返回加一后的 ...
分类:
其他好文 时间:
2018-01-18 00:52:21
阅读次数:
201
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。 Redis快的主要原因是: 第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。 ...
分类:
编程语言 时间:
2018-01-17 20:14:41
阅读次数:
126
最近群里聊起秒杀和限流,我自己没有做过类似应用,但是工作中遇到过更大的数据和并发。 于是提出了一个简单的模型: var count = rds.inc(key); if(count > 1000) throw "已抢光!" 借助Redis单线程模型,它的inc是安全的,确保每次加一,然后返回加一后的 ...
分类:
其他好文 时间:
2018-01-17 13:44:49
阅读次数:
74
我正在安装 mingw-w64 on Windows,有两个选项: win32线程和posix线程。 我知道win32线程和pthreads之间的区别,但是我不明白这两个选项之间的区别。 我怀疑如果我选择了posix线程,它将阻止我调用像CreateThread这样的WinAPI函数。 似乎这个选项 ...
分类:
编程语言 时间:
2018-01-16 00:55:53
阅读次数:
329
转自 https://www.cnblogs.com/xitang/archive/2012/02/07/2341529.html 方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型) 刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代 ...
分类:
移动开发 时间:
2018-01-14 13:02:19
阅读次数:
266
首先,服务器的实现不止有这两种方式。 先谈谈题主说的这两种服务器模型: 1、收到一个请求就处理,这个时候就不能处理新的请求,这种为阻塞 这个是单线程模型,无法并发,一个请求没处理完服务器就会阻塞,不会处理下一个请求。一般的服务器不会使用这种方式实现。 2、收到一个请求就新开一个线程去处理任务,主线程 ...
分类:
编程语言 时间:
2018-01-13 00:16:11
阅读次数:
151
Java基础 进程和线程的区别; Java的并发、多线程、线程模型; 什么是线程池,如何使用? 数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁; Java中实现多态的机制是什么; 如何将一个Java对象序列化到文件里; 说说你对Java反射的理解; 同步的方法;多进程开发以 ...
分类:
编程语言 时间:
2017-12-22 20:47:05
阅读次数:
186
nginx与php-fpm是不是以多进程多线程方式运行的?Nginx 是非阻塞IO & IO复用模型,通过操作系统提供的类似 epoll 的功能,可以在一个线程里处理多个客户端的请求。Nginx 的进程就是线程,即每个进程里只有一个线程,但这一个线程可以服务多个客户端。PHP-FPM 是阻塞的单线程模型,pm.max_children 指定的是最大的进程数量,pm.max_requests
分类:
Web程序 时间:
2017-12-21 18:13:56
阅读次数:
237
本文转自:http://senlinzhan.github.io/2017/09/17/boost-asio/ Boost.Asio 有两种支持多线程的方式,第一种方式比较简单:在多线程的场景下,每个线程都持有一个io_service,并且每个线程都调用各自的io_service的run()方法。 ...
分类:
编程语言 时间:
2017-12-18 12:18:38
阅读次数:
330