Discuz.Common/Utils/PerfCounter.cs

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

#region License
/*
 * Discuz!NT Version: 2.0
 * .NET Framework Version: 2.0
 * Created on 2007-5-31
 *
 * Web: http://www.discuznt.com
 * Copyright (C) 2001 - 2007 Comsenz Technology Inc., All Rights Reserved.
 * This is NOT a freeware, use is subject to license terms.
 *
 */
#endregion

using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Threading;

namespace Discuz.Common
{
    class PerfCounter
    {

		#region 私有变量

		private long freq;
		private long startTime, stopTime;

		#endregion

        #region 私有方法

		[DllImport("Kernel32.dll")]
		private static extern bool QueryPerformanceFrequency(out long lpFrequency);
		[DllImport("Kernel32.dll")]
		private static extern bool QueryPerformanceCounter(out long lpPerformanceCount);
		
		#endregion

		#region 构造方法

		/// <summary>
		/// 创建类的实例
		/// </summary>
		/// <param name="startTimer">是否立即执行Start()方法</param>
        public PerfCounter(bool startTimer)
		{
			startTime = 0;
			stopTime = 0;

			if (QueryPerformanceFrequency(out freq) == false)
			{
				// 不支持高精度计时
				throw new Win32Exception();
			}

			if (startTimer)
				Start();
		}

后面还有 37 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。