最近在修复一个旧的互联网应用bug,问题是程序有时候会自动拼接参数,比如正确的参数应该是f(\\d)-f(\\d)-f(\\d),而实际情况可能会出现f(\\d)-f(\\d)-f(\\d)-f(\\d)-f(\\d)。查找bug的时候,从页面入手,然后研究...
分类:
编程语言 时间:
2014-08-13 13:18:06
阅读次数:
187
从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包,而Queue,很多情况下使用到了Atomic操作,因此首先从这里开始)。很多情况下我们只是需要一个简单的、高效的、线程安全的递增递减方案。注意,这里有三个条件:简单,意味着程序员尽可能少的操作底层或者实现起来要比较容易;高效意味着耗用资源要少,程序处理速度要快;线程安全也非常重要,这个在多线程下能保证数...
分类:
编程语言 时间:
2014-08-13 13:12:56
阅读次数:
429
说明
Java中,线程之间的通信主要是由java.lang.Object类提供的wait、notify和notifyAll这3个方法来完成:
①对象的wait方法被调用后,线程进入对象的等待队列中,并释放对象锁,其它线程可以竞争使用此对象锁;sleep方法使得一个线程进入睡眠状态,但是线程所占有的资源并没有释放。
②当对象的notify方法被调用,该方法会从对象的等待队列中随机取出一个线...
分类:
编程语言 时间:
2014-08-13 13:05:56
阅读次数:
270
多线程技术交流提供:http://lazio10000.github.io/tech/Multihreadingdemo下载:http://lazio10000.github.io/tech/Multihreading/MultithreadingDemo.zip
分类:
编程语言 时间:
2014-08-13 12:55:06
阅读次数:
177
1.QT多线程涉及到主线程和子线程之间交互大量数据的时候,使用QThread并不方便,因为run()函数本身不能接受任何参数,因此只能通过信号和槽的交互来获取数据,如果只是单方面简单交互数据还过得去,如果涉及多次主、子线程之间的交互的时候,这种方式是很不方便的,这里采取另外一种方式,建一个继承自QO...
分类:
编程语言 时间:
2014-08-13 12:43:36
阅读次数:
251
很简单,就是2个线程访问同一个程序集变量,如何防止冲突,几个简单的api就可以达到,异步访问
分类:
编程语言 时间:
2014-08-13 12:43:06
阅读次数:
237
目录1. Linux通信机制分类简介2. Inter-Process Communication (IPC) mechanisms: 进程间通信机制3. 多线程并行中的阻塞和同步4. Ring3和Ring0的通信机制5. 远程网络通信1. Linux通信机制简介在开始学习Linux下的通信机制之前,...
分类:
系统相关 时间:
2014-08-13 10:05:05
阅读次数:
436
多线程下载可以抢占其它相同优先级用户的网络资源(宽带),所以说下载速度比较快,迅雷、快播都使用了多线程下载。
1.请求服务器上的文件的长度
2.根据服务器上的文件长度在手机上创建一个一模一样大小的文件
3.根据线程的个数和文件的长度来计算每一个线程需要下载的范围
文件的长度为:10 线程的数量为:3 每一块的大小:10/3=3.3333=3
...
分类:
编程语言 时间:
2014-08-13 01:17:35
阅读次数:
305
死锁:
在多线程竞争使用共享资源的情况下,就有可能出现死锁的情况。比如,当一个线程等待另一个线程所持有的锁时,那个线程又可能在等待第一个线程所持有的锁。此时,这两个线程会陷入无休止的相互等待状态,这种情况就称为死锁。
产生死锁的四个必要条件:
1、互斥条件。进程对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占有。
2、请求和保持条件。当进程因请求资源而阻...
分类:
编程语言 时间:
2014-08-13 01:09:24
阅读次数:
217
本篇教学代码可在GitHub获得:https://github.com/sol-prog/threads。在之前的教学中,我展示了一些最新进的C++11语言内容:1.正则表达式(http://solarianprogrammer.com/2011/10/12/cpp-11-regex-tutoria...
分类:
编程语言 时间:
2014-08-13 01:02:44
阅读次数:
279