การแก้ไข: เมื่อโปรแกรมประยุกต์ที่ใช้.NET Framework ใช้คลาส System.Threading.Timer เหตุการณ์ตัวจับเวลาอาจไม่สามารถ signaled ใน.NET Framework 1.1 SP1

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 900822 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

อาการ

เมื่อใช้โปรแกรมประยุกต์ของ Microsoft .NET Framework ได้รับการจัดการการSystem.Threading.Timerคลาใน Microsoft .NET Framework 1.1 Service Pack 1 (SP1), เหตุการณ์ตัวจับเวลาอาจไม่สามารถ signaled ได้ โดยทั่วไป ปัญหานี้เกิดขึ้น หากคอมพิวเตอร์ที่กำลังเรียกใช้โปรแกรมประยุกต์อยู่ภายใต้การโหลดหนา หรือ ถ้าใช้วัตถุตัวจับเวลามาก

การแก้ไข

ข้อมูลโปรแกรมแก้ไขด่วน



โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งานแล้ว อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มีเป้าหมายเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำโปรแกรมแก้ไขด่วนนี้ไปใช้กับระบบที่พบปัญหานี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น หากคุณไม่ได้รับความเสียหายรุนแรงจากปัญหานี้ เราขอแนะนำให้คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่มีโปรแกรมแก้ไขด่วนนี้

ถ้าต้องการดาวน์โหลดการแก้ไขด่วนนี้จาก MSDN Code Gallery โปรดเข้าสู่เว็บไซต์ของ Microsoft ดังต่อไปนี้::
http://code.msdn.microsoft.com/KB900822

หมายเหตุ:เก็บรหัส MSDN แสดงภาษาในโปรแกรมแก้ไขด่วนมีอยู่ ถ้าคุณไม่พบภาษาของคุณปรากฏอยู่ แสดงว่าเพจทรัพยากรของ Code Gallery ไม่มีให้บริการสำหรับภาษานั้น

หมายเหตุ:หากเกิดปัญหาอื่น ๆ หรือ ถ้ามีการแก้ไขปัญหาเป็นสิ่งจำเป็น คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะเกิดขึ้นเมื่อมีคำถามและประเด็นการสนับสนุนอื่นๆ ซึ่งไม่จัดอยู่ในโปรแกรมแก้ไขด่วนเฉพาะที่กล่าวถึงนี้ สำหรับรายการของหมายเลขโทรศัพท์ของฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft ทั้งหมด หรือถ้าต้องการสร้างคำขอรับการสนับสนุนแยกต่างหาก โปรดเข้าสู่เว็บไซต์ของ Microsoft ต่อไปนี้::
http://support.microsoft.com/contactus/?ws=support

ข้อกำหนดเบื้องต้น

กรอบงาน microsoft .NET 1.1 SP1

ข้อกำหนดในการเริ่มต้นระบบคอมพิวเตอร์ใหม่

คุณไม่ต้องรีสตาร์ทคอมพิวเตอร์หลังจากที่คุณใช้ปรับปรุงซอฟต์แวร์นี้

ข้อมูลการแทนที่การปรับปรุงซอฟต์แวร์

การปรับปรุงซอฟต์แวร์นี้ไม่ได้แทนปรับใด ๆ ซอฟต์แวร์ปรุงอื่น ๆ

ข้อมูลแฟ้ม

การปรับปรุงซอฟต์แวร์นี้รุ่นภาษาอังกฤษมีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาของแฟ้มเหล่านี้จะปรากฏในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ข้อมูลจะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้โซนเวลาแท็บในเครื่องมือ'วันและเวลา'ใน'แผงควบคุม'
   Date         Time   Version        Size       File name
   ----------------------------------------------------------
   09-Jun-2005  05:46  1.1.4322.2331  2,138,112  Mscorlib.dll
   09-Jun-2005  05:48                    10,908  Mscorlib.ldo
   09-Jun-2005  05:56  1.1.4322.2331  2,519,040  Mscorsvr.dll
   09-Jun-2005  05:57  1.1.4322.2331  2,506,752  Mscorwks.dll

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "การใช้งาน"

ข้อมูลเพิ่มเติม

กระบวนการตัวจับเวลาคลาสที่จะนำมาใช้เป็นรายการที่ถูกเชื่อมโยงวัตถุตัวจับเวลา เมื่อครั้งแรกSystem.Threading.Timerมีสร้างวัตถุ ผู้จัดการของพูลโปรแกรมเธรดเริ่มการทำงานเธรดการประมวลผลรายการที่ถูกเชื่อมโยง วัตถุตัวจับเวลาทั้งหมดถูกเพิ่มลงในรายการที่ถูกเชื่อมโยง เธรดที่ประมวลผลรายการที่ถูกเชื่อมโยง cycles ยังรายการถูกเชื่อมโยง และกำหนดเมื่อคาดว่าเหตุการณ์ตัวจับเวลาถูก signaled กับจำนวนนาฬิกาปัจจุบัน

ถ้าวัตถุตัวจับเวลาหมดอายุ เธรด asynchronously คิวฟังก์ชันการเรียกกลับก่อนเธรดปรับปรุงครั้งที่เหตุการณ์ตัวจับเวลาที่คาดว่าจะ signaled หลังจากเธรดได้ประมวลผลวัตถุตัวจับเวลาทั้งหมดในรายการที่ถูกเชื่อมโยง เธรดปรับปรุงครั้งล่าสุดมีการประมวลผลรายการที่ถูกเชื่อมโยง จากนั้น เธรดคำนวณเวลาที่สั้นที่สุดที่เธรดควรปก่อนเธรด reprocesses ถัดไปรายการถูกเชื่อมโยงวัตถุตัวจับเวลาที่ผ่านไป

ในบางครั้ง เมื่อระบบอยู่ภายใต้ stress หรือเมื่อรายการถูกเชื่อมโยงประกอบด้วยวัตถุตัวจับเวลามาก เธรดการประมวลผลอาจถูก pre-empted โดยเธรดระดับความสำคัญสูงก่อนที่การเชื่อมโยงทั้งหมดใน รายการได้รับการประมวลผล เมื่อปัญหานี้เกิดขึ้น มีคำนวณเวลาที่เหตุการณ์ตัวจับเวลาคาดว่าถัดไปเพื่อจะ signaled ไปอยู่ก่อนหน้าการประทับเวลาเมื่อมีการประมวลผลรายการที่ถูกเชื่อมโยงล่าสุด ดังนั้น ครั้งที่เหตุการณ์ตัวจับเวลาที่คาดว่าจะ signaled ในอดีต และไม่หมดอายุ

เนื่องจากเวลาที่เหตุการณ์ตัวจับเวลาที่คาดว่าจะ signaled แล้วผ่าน เธรดอาจคำนวณรอบระยะเวลาเป็นค่าลบการรอก่อนที่เหตุการณ์ตัวจับเวลาต้องถูก signaled เมื่อลบรอบระยะเวลารอเธรด เธรดที่เข้าสู่สถานะโหมดประหยัดพลังงานที่เป็นเวลานาน
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

คุณสมบัติ

หมายเลขบทความ (Article ID): 900822 - รีวิวครั้งสุดท้าย: 19 ตุลาคม 2553 - Revision: 1.0
ใช้กับ
  • Microsoft .NET Framework 1.1 Service Pack 1
Keywords: 
kbwinserv2003sp2fix kbfix kbbug kbqfe kbmt KB900822 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:900822

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com