加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

总结:写代码和调试的方法与心得

(2015-06-21 09:33:06)
标签:

股票

分类: 设计网络库

一、写代码

1)理清整个代码的逻辑,

2)就像自己用汉字一样,将将整个代码的逻辑写出来,最好一气呵成,写完了一个完整的逻辑块以后再去调试

3)每写模块,尽量带一个值进去检查,有没有逻辑的错误

4)

 

二、调试

1)

 

 

如何进行调试:

1)保证所有的线程都在运行

2)上锁和不上锁的效率比较

 

??为什么不出现竞争的情况呢

答:没有在线程函数中使用sleep函数,因为计算执行的速度是非常快的,如果创建第一个线程的时候没有等待sleep一段时间,那么可能还没创建第二个线程的时候,计算就已经达到了

      睡眠设置,对多线程的调试很有用

      多线程是随机的,使用sleep使其变得有顺序

写代码,要一气呵成:调试,像解绳子一样,一个一个一步一步来解

写完代码后一定要重新看一遍,看有没有错误,最好带一个值进去验证一下

thread.push_back(new Thread(fun,false));老是忘记了里面的false

 

为什么有时候会出现没打印出来的情况呢?

猜:可能是创建线程不成功,,,出错情况的处理

 

调试的方法:

1)测试代码,这个很重要

2)缩小范围调试法

3)单步执行调试

4)汇编

5)从原理的方面去理解和解决问题

 

 

为什么broadcast不能唤醒所有的线程呢?

 

防止死锁

     上锁的位置一定要正确

     

 

 

 

 

 

  

 

友元函数

前向声明模板类

 

类内定义,要注意前向声明

 

为什么使用用一般函数作为类的友元函数,不能访问类的成员呢

 

多线程的调试方法:

return epoll_wait(m_epollfd,m_events,m_max_event_num+1,millseconds);

当millseconds等-1的时候,一直等待下去

 监听的数目

两种地址的区别

 

 

 

 

 

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有