如何将多线程中接收数据处理的方法通过委托事件共用户使用呀!

问题描述

如何将多线程中接收数据处理的方法通过委托事件共用户使用呀!具体描述:一个TcpServer类主要是任务有启动服务、停止服务、接收连接的Socket(每接收一个Socket的建立一个线程对该Socket进行管理、线程调用的是Socket中的一个方法)Socket类:接收数据、发送数据等。注:将接收到的数据通过事件的方式委托到外面进行操作。如何做呀!还是这样的设计细路就有问题呀!!该如何设计呢!!!

解决方案

解决方案二:
参考:http://blog.csdn.net/zhiang75/archive/2004/08/16/75915.aspx
解决方案三:
把数据写入一个队列里
解决方案四:
與UI界面同步的方式有很多,例如可以發送自定義的消息實現.也可以如下publicdelegatevoidSockEvent(objectsender,SocketEventArgse);publicSockEventOnSockEvent;publicclassSockEventArgs{}privatevoidDoSocketEvent(){if(OnSockEvent!=null){SockEventArgse=newSockEventArgs();BeginInvoke(OnSockEvent,newobject[]{this,e});}}

解决方案五:
帮顶,关注...
解决方案六:
通过委托事件,委托出去没有问题,可是在委托事件中不能使用窗体的控件信息。this.Textbox1.Text="1111";调用这个的话就会报错!!!!
解决方案七:
通过委托事件,委托出去没有问题,可是在委托事件中不能使用窗体的控件信息。this.Textbox1.Text="1111";调用这个的话就会报错!!!!---------》调用控件的时候需要Invoke~~~~~~~
解决方案八:
例如这样delegatevoidSetTextCallback(stringtext);privatevoidSetText(stringtext){if(this.Textbox1.InvokeRequired){SetTextCallbackd=newSetTextCallback(SetText);this.Invoke(d,newobject[]{text});}else{this.Textbox1.Text=text;}}

时间: 2024-08-30 08:08:11

如何将多线程中接收数据处理的方法通过委托事件共用户使用呀!的相关文章

PHP中多线程的两个实现方法_php实例

PHP本身是不是支持多线程的,不过我们可以借助其他的方法来实现多线程,比如 shell 服务,比如 web 服务器,本文我们来讲讲这两个方法如何实现.需要的朋友可以来参考一下. 多线程是java中一个很不错的东西,很多朋友说在php中不可以使用PHP多线程了,其实那是错误的说法PHP多线程实现方法和fsockopen函数有关,下面我们来介绍具体实现程序代码,有需要了解的同学可参考. 当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程

2.0中,多线程操作socket, 使用send方法时产生死锁!!!!

问题描述 服务器端接收客户端的socket请求,每连接一个新请求,就分配一个新线程,然后调用send()方法,向客户端发送一条数据.现在的问题是:服务器端可以接收并分发线程,客户端也能接收到send()的数据,但是每当send()数据的时候,服务器端就产生死锁(没有响应),CPU100%这是为什么啊?是不是sned()属于不安全线程调用?有什么办法解决啊?谢谢了. 解决方案 解决方案二:staticobjectobjLock=newobject();在要对同一socket访问时加锁:lock(o

java向多线程中传递参数的三种方法详细介绍_java

在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果.但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别.由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据.本文就以上原因介绍了几种用于向线程传递数据的方法,在下一篇文章中将介绍从线程中返回数据的方法. 欲先取之,必先予之.一般在使用线程时都需要有一些初始化数据,然后线程利用这些数据进行加工处理,并

关于java多线程中的join方法

问题描述 关于java多线程中的join方法 1.主线程可能在子线程结束之前 结束吗?如果可能的话 举一个例子 2.如何理解join方法, 结合实际应用. 非常感谢非常感谢!!! 解决方案 关于join,参考:http://www.blogjava.net/jnbzwm/articles/330549.html 解决方案二: 主线程可能在子线程结束之前 结束吗 一般来说不可以,但是也不一定,如果子线程在执行finally中的代码,应该会等它执行完了才退出. 晕,join方法和什么"让主线程等子线

Struts2中Action接收参数的方法

Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法:    

Java Web项目中使用Socket通信多线程、长连接的方法_java

很多时候在javaweb项目中我们需要用到Socket通信来实现功能,在web中使用Socket我们需要建立一个监听程序,在程序启动时,启动socket监听.我们的应用场景是在java项目中,需要外接如一个硬件设备,通过tcp通信,获取设备传上来的数据,并对数据做回应. 先看一下web的监听代码: import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class

C# 如何让 多线程中每个线程间隔毫秒执行同一个方法?

问题描述 多线程的好处让效率提高很多倍,但是在某些情况下要求操作同一个方法的时候要求有间隔,这个间隔当然是毫秒级别的否则多线程的意义就体现不出来,本问题就是怎么让多线程中每个线程间隔毫秒执行同一个方法,测试代码如下:privatevoidbtnTest_Click(objectsender,EventArgse){TestManyThreadtest=newTestManyThread();test.Start();} 主要代码如下classTestManyThread{privatestati

java-从类对象的方法中接收空指针异常

问题描述 从类对象的方法中接收空指针异常 我有一个自定义视图,我把它声明字了'main'XML文件中: <com.app.DrawView android:id="@+id/my_view" android:layout_height="match_parent" android:layout_width="match_parent" /> 然后在我的activity中的onCreate方法中: setContentView(R.la

Yii webservice如何在一个控制器中使用多个方法

我们先来看看php如何调用webservice应用介绍 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在 Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup Language)扩展型可标记语言.面向短期的临时数据处理.面向万维网络,是Soap的基础. Soap: (Simpl