多线程服务程序编程心得

原创 2006年06月02日 10:11:00

后台服务器程序一般都要求很高的稳定性和健壮性,编写高质量的服务器程序需要注意如下几个方面:

1、对于后台的多个并行工作线程最好不要用另一个线程来统一管理。大多数人认为专门用一个调度线程来调度各线程是一个比较好的方案。但是在实际应用中这种方法并不一定好,因为如果你的任务处理特别频繁而且需要将各线程不停地在挂起与激活之间切换,就会出现一些意想不到的问题,各线程的调度状态和实际的状态不符合。所以最好是由各线程自己负责自己的调度。如果没有任务了就Sleep一下,时间可自己设定也可以按实际情况动态确定。如果任务缓冲区中有任务就取一个任务来执行。这种方法即简单又不会出现问题。

2、如果各工作线程需要一定的内存缓冲,最好是在线程初始化时就一次性创建自己的缓冲区,每次都是反复利用,不用每来一个任务就去申请一块内存,执行完后再删除,这样运行很长一段时间后会留下很多内存碎片。

3、如果多个线程之间需要互斥地访问多个共享对象,每个线程对共享对象的申请最好是一次性申请到(一次性加锁),否则会出现一些死锁现象。

C++ 多线程TELNET服务程序

  • 2014年08月07日 08:34
  • 10KB
  • 下载

简单的Linux环境下多线程TCP服务程序框架

运行环境:Linux2.6以上 文件说明:tcputil.c --------------- TCP多线程服务框架实现                     tcputil.h ----...
  • skdkjxy
  • skdkjxy
  • 2014年05月27日 10:38
  • 508

多线程、方便扩展的Windows服务程序

前言 在项目应用中经常会碰到定时调度的工作,比如我曾经开发一个日访问量超过1000W的网站,如果这1000W访问都从数据库读取数据显示给用户,我的服务器肯定承受不了,于是我需要每10分钟把首页生...

最近写关于window服务程序的心得

最近的任务---老大让我把linux上的一个把键盘码解析成“行为”再给服务器发,使得键盘控制与服务器相连的摄像机的程序在window上用VC 写成window服务程序。   在这之前,小弟没有接触...

linux多线程socket编程一些心得

http://hi.baidu.com/netpet/blog/item/2cc79216d9012b54f2de32b9.html    前段时间将新的web模型办到linux上来,用e...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多线程服务程序编程心得
举报原因:
原因补充:

(最多只允许输入30个字)