in test1 g_num=1172278 in test1 g_num=1288801 in main Thread g_num=1288801 ##解决方案如下(红色字体为新添加的代码) ...
分类:
编程语言 时间:
2019-10-31 13:50:42
阅读次数:
117
数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。查询优化规则:在访问数据库表的数据(Access Data)时,要尽可能避免排序(Sort)、连接(Join)和相关子查询*作。经验告诉我们,在优化查询时,必须做到: ① 尽可能少的行; ② 避免排序或为尽可能少的行排序,若要 ...
分类:
数据库 时间:
2019-10-28 22:33:45
阅读次数:
131
[toc] 网络编程 开发架构 B/S: browser/server C/S: client/server OSI七层模型 应用层 表示层 会话层 传输层: 建立端口到端口的通信, TCP/UDP协议 网络层: 引入IP地址来进行跨局域网通信, 因特网协议 数据链路层: 规定分组方式, 以太网协议 ...
分类:
编程语言 时间:
2019-10-25 20:20:48
阅读次数:
106
1、网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。 2、连接池 可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池( ...
分类:
其他好文 时间:
2019-10-23 20:21:33
阅读次数:
68
sync.WaitGroup提供了一种安全的多协程处理方法,内部使用race来处理,避免了资源竞争及锁的产生。 主要的方法有Add、Done、Wait,可以等待一组协程全部执行完毕后,主程序才继续往下执行。 代码示例: 输出结果 ...
分类:
其他好文 时间:
2019-10-08 12:50:47
阅读次数:
91
1. C/C++ 与 Go语言的“价值观”对照 之前看过 白明老师 在GopherChina2017的一篇演讲文章《Go coding in go way》,里面提到C/C++/Go三门语言价值观,感觉很有意思,分享给大家感受一下: C的价值观摘录 相信程序员:提供指针和指针运算,让C程序员天马行空 ...
分类:
其他好文 时间:
2019-09-28 21:41:50
阅读次数:
125
一、NioEventLoop与NioEventLoopGroup的关系 二、NioEventLoop 1. 设计原理 1. 负责IO读写 2. 执行task。通过调用NioEventLoop的execute(Runnable task)方法实现。我们知道,为了防止资源竞争和并发操作,我们经常会判断当 ...
分类:
Web程序 时间:
2019-09-25 16:08:20
阅读次数:
133
相比new Thread,Java提供的四种线程池的好处在于: a. 重用存在的线程,减少对象创建、消亡的开销,性能佳。 b. 可有效控制最大并发线程数,提高系统资源的使用率,同时避免过多资源竞争,避免堵塞。 c. 提供定时执行、定期执行、单线程、并发数控制等功能。 为什么要用线程池:1.减少了创建 ...
分类:
编程语言 时间:
2019-08-28 00:41:19
阅读次数:
105
前言 一般情况下,只要涉及到多线程编程,程序的复杂性就会显著上升,性能显著下降,BUG出现的概率大大提升。 多线程编程本意是将一段程序并行运行,提升数据处理能力,但是由于大部分情况下都涉及到共有资源的竞争,所以修改资源 对象时必须加锁处理。但是锁的实现有很多种方法,下面就来一起了解一下在C#语言中几 ...
分类:
编程语言 时间:
2019-08-14 00:07:40
阅读次数:
258
进程和线程都是完成多任务的一种方式,进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位 多进程要比多线程消耗的资源多,但是多进程开发比单进程多线程开发稳定性要强,某个进程挂掉不会影响其它进程。 多进程可以使用cpu的多核运行,多线程可以共享全局变量,但是要注意资源竞争的问题,解决办法: 互 ...
分类:
编程语言 时间:
2019-06-17 01:06:32
阅读次数:
128