学校的服务器可以上外网了,所以打算写一个自动爬取笑话并发到bbs的东西,从网上搜了一个笑话网站,感觉大部分还不太冷,html结构如下:
可以看到,笑话的链接列表都在里面,用正则表达式可以把最近的几个笑话地址找出来,再进到一个笑话页面看下:
每一个笑话页面里面是有多个小笑话组成的,全部在标签下,每个小笑话又单独一个包裹,这样非常容易...
分类:
编程语言 时间:
2014-05-15 11:18:58
阅读次数:
362
用select实现的并发服务器,能达到的并发数,受两方面限制
一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。
select中的fd_set集合容量的限制(FD_SETSIZE) ,这需要重新编译内核。...
分类:
其他好文 时间:
2014-05-15 05:19:35
阅读次数:
390
/proc/sys/net/ipv4/tcp_max_tw_buckets
默认的太小了net.ipv4.tcp_syncookies = 0这个参数是怎么得来的?其实是通过ab 简单的压力测试,/var/log/message
里面会有内核的报错信息。
分类:
其他好文 时间:
2014-05-14 22:56:49
阅读次数:
349
问题
最近项目中遇到了一个分布式系统的并发控制问题。该问题可以抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 ... Ln组成;D本质上是一个key-value存储,它对外提供基于HTTP协议的CRUD操作接口。L的业务逻辑可以抽象为下面3个步骤:
read: 根据keySet {k1, ... kn}从D获取keyValueSet {k1:v1, ... kn:vn...
分类:
Web程序 时间:
2014-05-14 21:10:05
阅读次数:
474
ReentrantLock是一个可重入的互斥锁,实现了接口Lock,和synchronized相比,它们提供了相同的功能,但ReentrantLock使用更灵活,功能更强大,也更复杂。这篇文章将为你介绍ReentrantLock,以及它的实现机制。
ReentrantLock介绍
通常,ReentrantLock按下面的方式使用:
public class ReentrantLockTest...
分类:
其他好文 时间:
2014-05-14 20:02:26
阅读次数:
397
1关于greenletgreelet指的是使用一个任务调度器和一些生成器或者协程实现协作式用户空间多线程的一种伪并发机制,即所谓的微线程。greelet机制的主要思想是:生成器函数或者协程函数中的yield语句挂起函数的执行,直到稍后使用next()或send()操作进行恢复为止。可以使用一个调..
分类:
其他好文 时间:
2014-05-14 19:09:00
阅读次数:
427
Master-Worker模式适合在一个任务可以拆分成多个小任务来进行的情况下使用。packagecn.fcl.masterworker;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Queue;
importjava.util.concurrent.ConcurrentHashMap;
importjava.util.concurrent.ConcurrentLinked..
分类:
编程语言 时间:
2014-05-14 18:26:04
阅读次数:
243
关于线程进程的概念已经JAVA中线程的初级理解...
分类:
编程语言 时间:
2014-05-14 14:42:18
阅读次数:
336
首先,说说memcached的标准用法:memcached使用高效缓存,当有一些内容不是经常变动时,可以写入其中。如果有请求要获取这块数据,则优先从缓存中取出,仅当缓存过期,则从数据库获取实时数据,并再次更新到缓存中。
但如果网站频频出现高并发,比如说,将某块数据写入并设置有效时间为60s,但...
分类:
其他好文 时间:
2014-05-14 13:13:00
阅读次数:
447
这是微软官方教程Getting Started with Entity Framework 6
Code First using MVC 5 系列的翻译,这里是第十篇:为ASP.NET MVC应用程序处理并发原文:Handling Concurrency
with the Entity Framew...
分类:
Web程序 时间:
2014-05-14 10:39:02
阅读次数:
695