文档章节

Sleep(0)

rise-worlds
 rise-worlds
发布于 2016/06/20 13:35
字数 317
阅读 1
收藏 0

    以前在同一个进程里,特别钟爱用Sleep(0)来做一些情况下的线程同步。譬如当线城池工作时,主线程使用Sleep(0)来等待线程池里所有的线程都完成运行。当线程池线程非常多的时候,这种方法确实是一种非常有效的节省cpu的方式,因为它节省了在线程里使用内核来进行同步的开销。而且很重要的,它运作的很好,可以说完全在我的控制之内。

    然而在我换上了双核cpu后,问题出来了:Sleep(0)经常会比预期中更早返回。当初的设计代码根本没有考虑过多核/多cpu方式下的线程调度。

    看来,速度和方便,还是难以两全其美。如果数据对同步敏感,还是不能偷工减料。

    另外,在测试中发现非常奇怪的一点: 当线程池工作的时候,在任务管理器里设定该进程只能在一个cpu上运行的时候,该进城所占用的内存量急剧持续增长。而再设回允许在双核下调度时,内存量又开始缓慢持续减少^_^

本文转载自:http://www.cnblogs.com/flying_bat/archive/2007/05/31/765861.html

共有 人打赏支持
rise-worlds

rise-worlds

粉丝 2
博文 1755
码字总数 0
作品 0
深圳
程序员
私信 提问
Solaris 10 进程管理

使用 ps 命令 使用 ps 命令可以检查系统中活动进程的状态,并可显示有关进程的技术信息。此数据对于管理任务(例如,确定设置进程优先级的方式)很有用。 列出进程 可使用 ps 命令列出系统中...

John_Lu08
2018/08/24
0
0
solaris查看内存、CUP、硬盘总数和使用情况情况

转自:http://blog.chinaunix.net/uid-26454764-id-3145344.html solaris查看内存、CUP、硬盘总数和使用情况情况 一、内存查询 1,查询总内存 -bash-3.00# prtconf | grep Memory 结果为: Me...

GeminiLiu
2014/02/11
0
0
深入分析Sleep(0)与Sleep(1)的区别

深入分析Sleep(0)与Sleep(1)的区别 罗朝辉 (http://blog.csdn.net/kesalin) CC许可,转载请注明出处 目的: 有时候我们想让线程不被调度一定的时间,也就是说让线程睡眠一段时间。 API 接口:...

突然帅了
2014/11/25
0
0
Linux Shell常用技巧(九) 系统运行进程

十九. 和系统运行进程相关的Shell命令: 1. 进程监控命令(ps): 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查...

长平狐
2012/09/06
46
0
JAVA的Thread.join() 的使用示例

Thread.join()应该是让当前线程block住,等线程执行完之后,再继续执行,而且可以设置让当前线程等待的时间,如果超过时间,不用等当前 线程执行完,就可以继续执行 。 比如有3个线程在执行计...

墙头草
2011/08/04
0
1

没有更多内容

加载失败,请刷新页面

加载更多

技术复习-Spring事务

spring事务 1.事务传播机制 在spring中事务存在嵌套的情况,在这种情况下事务如何协调,spring在TransactionDefinition中设了七个规则,被称作事务的传播机制 1.TransactionDefinition.PROP...

Lubby
21分钟前
1
0
linux 虚拟机安装

一、虚拟化检查 1. 检查cpu是否支持 grep -E 'vmx|svm' /proc/cpuinfo 2. 检查虚拟化是否开启 lsmod |grep kvm 显示内容与截图一致,服务器已经开启了虚拟化的支持,如果没有前2条内容,...

小儿
22分钟前
2
0
Linux之系统日志简介

前言 日志在排查文件的时候至关重要,在Linux上一般跟系统相关的日志默认都会放到/var/log下面。 1、/var/log/boot.log 一般包含系统启动时的日志,包括自启动的服务。 2、/var/log/btmp 记录...

城市之雾
22分钟前
1
0
Android数据存储2 文件存储

1.内部存储(私有的,其他程序不能获取) a. 存:FileOutputStream fos = openFileOutput("file", MODE_PRIVATE); 读: FileInputStream fis = openFileInput("file"); 文件路径:data/data/当......

Coding缘
22分钟前
1
0
23种设计模式全解析

一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理...

嘿嘿嘿IT
23分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部