IO多路复用 socket模块是阻塞的,通过socket建立的服务端可以接收多个请求,但只能同时处理一个请求,其他请求都被阻塞。可以通过IO多路复用解决这个问题,socketserver内部使用的就是IO多路复用以及多线程和多进程。 IO多路复用就是指通过一种机制可以监视多个描述符,一旦某个描述符就 ...
分类:
其他好文 时间:
2016-11-27 14:23:31
阅读次数:
240
死锁 解决死锁方法1:使mutex顺序相同 解决死锁方法2:使用std::lock ...
分类:
编程语言 时间:
2016-11-27 08:04:41
阅读次数:
289
首先纠正以前的错误:在没有调用join()之前,线程已经运行了。 下面还是把join加上,目前这个程序输出很乱 使用基本的互斥锁,解决资源竞争,看到输出不在凌乱 改进:自动释放mu 继续优化:去掉上一个程序的缺点 ...
分类:
编程语言 时间:
2016-11-27 08:01:44
阅读次数:
162
LAMP = Linux + Apache + MySQL + PHP 【1】 【2】 【3】 【4】 【1】Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它 ...
分类:
其他好文 时间:
2016-11-27 07:59:08
阅读次数:
141
/***控制并发,属于一种较常见的限流手段,通过信号量机制(如Java中的Semaphore)来控制*假如有一个需求,要读取几万个文件的数据,因为都是IO密集型任务,我们可以启动几十个线程*并发的读取,但是如果读到内存后,还需要存储到数据库中,而数据库的连接数只有10个,这时*我们..
分类:
编程语言 时间:
2016-11-27 00:29:29
阅读次数:
219
1.一个进程是一个独立的应用程序 2.独占内存空间 3.不是绝对意义的同时,而是cpu在进程间的来回切换 线程描述: 1.是进程内部独立运行的流程 2.线程是共享内存地址空间的 3.cpu在线程之间来回切换 实现线程的两种方式: 1.继承Thread类 2.实现Runnable接口 开启线程的方法: ...
分类:
编程语言 时间:
2016-11-27 00:01:23
阅读次数:
184
进程:针对操作系统,一个系统多个任务进程。比如开一个视频播放,开一个QQ 线程:是进程中的运行单元。 多线程:一个项目或应用可以分多个线程并行执行,由CPU分配时间片进行调用。 线程的状态 1.新建状态 new Thread() 2.就绪状态 start() 3.运行状态 run 4.阻塞状态 失去 ...
分类:
编程语言 时间:
2016-11-26 23:38:34
阅读次数:
206
控制台没有显示任何字符,原因:使用detach开启子线程没有阻塞主线程,主线程已经执行完毕。 结论:detach后,不能再使用join 结论:可以使用joinable()判断是否可以join() ...
分类:
编程语言 时间:
2016-11-26 22:59:43
阅读次数:
162
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。 下面看例子: 但是,此时 ...
分类:
编程语言 时间:
2016-11-26 20:19:49
阅读次数:
207
学习经验总结 学习有时候不仅仅只是个人自闭的学习,我们不能将自学理解为自己一个人学习,而真的的会学习,或者说是效率更高的学习,是一种团队精神的学习,因为每个人看待问题的角度是不同的,通过和同学,老师的不断交流中,我们可以对某一事物有更深层次的理解,总结来说,学好数据库出个人的自学方面以外,还要加强和 ...
分类:
其他好文 时间:
2016-11-26 17:53:54
阅读次数:
213