高并发
仰望_forward
hi
展开
-
Linux下高并发socket最大连接数所受的各种限制
1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:[speng@as4 ~]$ ulimit ...原创 2013-01-14 20:38:36 · 76 阅读 · 0 评论 -
如何确保某一个文件只允许一个线程打开解决办法
最近在做一个数据存储优化。我们之前的模式是插入一定量的数据通过批处理进行存储,两个条件进行批处理,一个是超过批处理设定的最大个数,一个是超过批处理延迟时间,否则有新的数据就放入缓存中。为了保证数据的完整性,现在要改成,不将数据加入缓存里,而改为存放在本地的.data文件中。在优化的过程中,遇到了一个问题就是:如何确保一个文件只能由一个线程或程序打开?在网上查找了一些解决办法...原创 2013-07-09 11:09:44 · 287 阅读 · 0 评论 -
关于HashMap在多线程下的使用
最近在做项目的压力测试,测试的过程中,问题多多呀,基本上都是多线程共享数据引发的问题。 在测试的过程中发现程序运行一段时间,就会出现CPU使用100%的情况,每次程序重启之后,又会恢复原貌。通过程序中的一个超时机制得知,程序会停在某一处代码中,这块代码是从map里获得数据,由于map里有数据放入,也有数据移除,导致从map的get方法会死循环。通过网上了解,HashMap不是线程安全的,...原创 2013-08-02 18:46:41 · 202 阅读 · 0 评论 -
java并发编程实践笔记
1, 保证线程安全的三种方法 :a, 不要跨线程访问共享变量b, 使共享变量是 final类型的c, 将共享变量的操作加上同步2, 一开始就将类设计成线程安全的 , 比在后期重新修复它 ,更容易 .3, 编写多线程程序 , 首先保证它是正确的 , 其次再考虑性能 .4, 无状态或只读对象永远是线程安全的 .5, 不要将一个共享变量裸露在多线程环境下 (无同步或不可变性保护 )...原创 2014-01-10 15:57:34 · 108 阅读 · 0 评论