C#中不同的类是不同的java线程类吗?

|||||||||||||||||||||||||||
:            
C#多线程-不同线程之间通过事件委托封送调用方法
17:38:11 佚名  (读取中...)
[导读]前两天做了一个自定义单件Timer,该Timer能够根据相应数据记录(Row)中的记录ID和设定分钟Minutes 做相应的事件调用,但是如果此事件处理程序在一Form中时则不能正确调用它,但是把82到93行的注释去掉就可以了。Timer大体定义如下:
2 using System.T
前两天做了一个自定义单件Timer,该Timer能够根据相应数据记录(Row)中的记录ID和设定分钟Minutes 做相应的事件调用,但是如果此事件处理程序在一Form中时则不能正确调用它,但是把82到93行的注释去掉就可以了。
Timer大体定义如下:
& 1 using S& 2 using System.T& 3 ponentM& 4 using System.Windows.F& 5 & 6 /************************************************************& 7& * MyTimer.Timer能够根据同一Timer定时基准对不同的定时事件做定时。& 8& * & 9& * MyTimer.Timer包含一Hashtable和Threading.Timer,每次Timer定时回调&10& * 遍历Hashtable并根据其中的TimerNode的定时周期值是否为零来判断是否调用&11& * 相应的TimerCome事件。&12& ************************************************************ */&13 namespace MyTimer&14 {&15 /// &summary&&16 /// 事件定时节点&17 /// &/summary&&18 internal class TimerNode&19 {&20 /// &summary&&21 /// 构造函数&22 /// &/summary&&23 /// &param name="TimeCount"&定时周期数&/param&&24 /// &param name="EvtID"&事件ID&/param&&25 public TimerNode(long TimeCount,object EvtID)&26 {&27 this.mTimeCount=TimeC&28 this.mEvtID=EvtID;&29 }&30 private long mTimeC&31 private object mEvtID;&32 &33 public long TimeCount&34 {&35 get{return mTimeC}&36 set{mTimeCount=}&37 }&38 public object EvtID&39 {&40 get{return mEvtID;}&41 }&42 }&43 &44 public class TimerEventArgs:EventArgs&45 {&46 private System.Collections.ArrayList mEvtIDs;&47 public System.Collections.ArrayList EvtIDs&48 {&49 get{return mEvtIDs;}&50 }&51 &52 /// &summary&&53 /// 构造&54 /// &/summary&&55 /// &param name="EvtIDs"&触发的事件ID列表&/param&&56 public TimerEventArgs(System.Collections.ArrayList EvtIDs):base()&57 {&58 this.mEvtIDs=EvtIDs;&59 }&60 }&61 &62 public delegate void TimerEventHandler(TimerEventArgs e);&63 &64 /// &summary&&65 /// Timer 单件模式,不能实例化。&66 /// &/summary&&67 public class Timer&68 {&69 /// &summary&&70 /// 有节点定时到事件&71 /// &/summary&&72 public static event TimerEventHandler TimeC&73 &74 /// &summary&&75 /// 唤醒TimeCome事件。&76 /// &/summary&&77 /// &param name="e"&此参数包含定时到事件列表&/param&&78 static void RaiseTimeCome(TimerEventArgs e)&79 {&80 if(TimeCome!=null)&81 {&82 // if(TimeCome.Target ponentModel.ISynchronizeInvoke)&83 // {&84 // ponentModel.ISynchronizeInvoke aSynch=TimeCome.Target ponentModel.ISynchronizeI&85 // if(aSynch.InvokeRequired)&86 // {&87 // object[] args=new object[1]{e};&88 // aSynch.BeginInvoke(TimeCome,args);&89 // }
关注此文的读者还看过:C#中的多线程问题用于什么地方?怎么掌握?_百度知道
C#中的多线程问题用于什么地方?怎么掌握?
1.每窗体都自都同线程运行需要窗体间交互需要线程间交互2.线程Sleep系统退执行队列段间睡眠结束系统产钟断使线程执行队列恢复线程执行3.父线程先于线程结束线程父线程结束同迫结束Thread.Join()使父线程等待直线程结束Abort()带恢复终止线程4.起始线程称主线程所前台线程都停止主线程终止所台线程都条件终止台线程跟前台线程区别台线程妨碍程序终止旦进程所前台线程都终止CLR 通调用任意存台进程Abort()彻底终止进程 6.挂起睡眠(都称--阻塞暂停) 与Thread.Sleep 同Thread.Suspend 使线程立即停止执行直线程达安全点才该线程挂起线程尚未启或已经停止则能挂起调用 Thread.Resume 使另线程跳挂起状态并使该线程继续执行 线程能另线程调用Sleep 线程另线程调用Suspend使用许其式阻塞线程例通调用 Thread.Join 使线程等待另线程(线程)停止使用 Monitor.Wait使线程等待访问同步象5.关键字lock段代码定义互斥段(critical section)互斥段刻内允许线程进入执行其线程必须等待线程公用象应该使用lock关键字MonitorMonitor提供使线程共享资源案 Monitor类锁定象线程锁才该象进行操作: Monitor.Enter(obj); //现oQueue象能前线程操纵 Monitor.Exit(obj);6.进程始至少主线程 ( 即主执行实例 ) 系统加载程序候所创建主执行流程消息队列则与线程 ( Thread ) 相关似win2k线程且消息队列 ( queue ) 与相应消息队列候呢 似win2k系统始创建线程已经 线程创建窗体统发送给些窗口消息都统发送同 消息队列 幸亏消息结构msg.hwnd指该条消息与 哪窗口相关 DispatchMessage() 函数依照保证消息派处理自化且错7.每窗体都属于创建线程线程直接访或间接问其线程窗体导致运行错误(VS2005)解决:使用窗体Control继承Control.Invoke(Delegate)该创建窗体线程执行委托指向注意:VS2003线程直接或间接调用另线程窗体导致运行错误
其他类似问题
按默认排序
其他1条回答
线程某些情况提高程序运行效率加快运行速度候需要同间同运行比游戏跑同射击播放音乐需要采用线程练习掌握拉
多线程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C#中不同的类是不同的线程吗?_百度知道
C#中不同的类是不同的线程吗?
我有更好的答案
不是如果没用多线程技术,那么都是一个主线程运行的。
类与线程无关,只有线程类才会开新线程
类和线程没啥关系啊。线程是指程序运行时用几个线程啦处理问题。线程可以并发的。类跟这个毫无关系。
其他类似问题
线程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 java线程类 的文章

 

随机推荐