关于多线程发送文件的一些有关问题

求助关于多线程发送文件的一些问题
如题,正在做一个软件的更新模块,分为客户端和服务器端。
服务器端我用线程池来连接并发送数据。客户端用来接收数据。
服务器那边有一个链表,保存了文件信息,
所有线程都会来访问这个链表,
所以我设置了一个临界区访问。
但是当我启动了几十个客户端的时候服务器端这边
扛不住了,cpu到了100,而且客户端有的连接不上。
请问我服务器端是不是有不合理的地方啊?应该怎么修改?
急急急,在线等求大神解答。献上俺所有的分!!
多线程 服务器

------解决方案--------------------
不知道你的服务器端采用的是哪种网络编程模型,
建议更改服务器端的网络编程模式,使用IOCP完成端口模型试试看吧。
请参考:
http://jingyan.baidu.com/article/eb9f7b6dcd36e0869364e813.html
------解决方案--------------------
锁的粒度要小, 另外看看为何慢, 慢在哪一句上, 你需要自己试验出来, 别盲目。