欢迎来到天天文库
浏览记录
ID:18494284
大小:90.00 KB
页数:8页
时间:2018-09-18
《j2me中多线程网络连接编程的分析与设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、注意。本文引用http://www.j2medev.com网上一些内容,只是出于文章的连贯性,请见谅引言 J2ME(Java2MicroEdition)是Java2的一个组成部分,它与J2SE、J2EE并称。J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话、可视电话、数字机顶盒和汽车导航系统等等。即J2ME是为消费电子产品和手持设备量身定制的Java专用版本。J2ME的出现使开发跨平台的消费类电子产品的应用软件成为可能。Java语言的与平台无关的特性移植到小型电子设备上,允
2、许移动无线设备之间共享应用程序。它提供了基于HTTP的高级Internet协议,使移动电话能以Client/Server方式直接访问Internet的全部信息,从而使得不同的Client访问不同的资源。 在将来的无线通信时代中,大量的网络应用程序将被开发出来去满足无线移动通讯的要求,而要充分的发挥无线移动通讯设备的通信能力,J2ME网络编程就变得尤为重要。那么为了高效地进行网络编程,就要利用Java语言的多线程编程机制。下面我将给出代码来怎么才可以设计一个好的多线程连网。多线程在设计中的地位是很高的,也是比
3、较难设计好的,没经验的人很容易就使程序产生死锁,崩溃等(在下现在还经常这样^_^)我的例子是基于socket。1。数据发送线程SenderTask,代码1.package org.wuhua.net; 2. 3.import java.io.IOException; 4.import java.io.OutputStream; 5. 6./** 7. * 类名:SenderTask.java 编写日期: 2006-7-16 程序功能描述� 8. * 发��命
4、令线程��如果OputStream 出现异常,则断开�有连� 断开 Demo: Bug: 9. * 10. * 程序变更日期 � 变更作� � 变更说明 � 11. * 12. * @author wuhua rrq12345@163.com 13. */ 14.public class SenderTask implements Runnab
5、le { 15. 1. public OutputStream os; 2. 3. private String message; 4. 5. private boolean stop = false; 6. 7. SenderTask(OutputStream os) { 8. this.os = os; 9. 10. } 11. 12. /** 13. * 发送指令,具体的指令格式,可以按照自己定义的规则。 14.
6、 * 15. * @param _msg 16. */ 17. public synchronized void send(String _msg) { 18. message = _msg; 19. notify(); // 执行运行 20. } 21. 22. /** 23. * 执行,监听客户发送指令,如果指令不为null则工作�, 否则暂停工作直到有客户发送指令为�止才工作, 24. */ 25.
7、 public synchronized void run() { 26. try { 27. runImpl(); 28. } catch (Throwable tw) { 29. tw.printStackTrace(); 30. 31. } 32. } 33. 34. private void runImpl() throws IOException { 35. wh
8、ile (true) { 36. if (stop) 37. break; 38. 39. // If no client to deal, wait until one connects 40. if (message == null) { 41. try {
此文档下载收益归作者所有