java socket /thread

来源:互联网 发布:mac 射手 字幕位置 编辑:程序博客网 时间:2024/06/03 15:47

经过了几天折腾,终于装出一个可用的redhat EnterPrise,然后安装JDK  JSE JEE都装上,然后是NetBeans

好兴奋,终于可以开始自己的java之旅了~!
-----------------------------------------------------------------------------------------------------------------------------------------

学习java基础,我就在SUN网站上寻找类似microsoft的MSDN的文档

就是这里:

http://java.sun.com/docs/books/tutorial/java/index.html

基础语法直接跳过了...

 

 

1,socket基础介绍

 

sun提供的标准模式是,ClientSocket+ServerSocket+Protocol

Proctocol是自定义的,通信格式,用来格式化自己要发送或接受的数据.说白了就是自己的应用层协议.

 

最后,给出了一个同时服务客户的Server程序结构:

 

 

文章还给了个小习题,让你将例子KnockKnockServer 修改成多客户版

 

不但有教材,还有习题,sun的文档,简直像教材...建议大家不要买书,直接看文档,又省钱又权威何乐不为!

 

2,如何构建并启动一个线程

 

两种方式:

       <1>将线程代码放到一个实现Runable接口的类中,Runable的run方法专用于放置代码, 用windwos编程习惯说run()就是线程函数.示例代码是:

      <2>直接在Thread类中通过继方式插入代码,通过这个例子也可以了解Thread的另一种初始化方式:

 

初始化完成,调用invoke函数将线程启动.

文章最后,推荐使用第一种方式来使用线程,因为这样可以很灵活的在不同的类里实现线程代码,而不是必须继承Thread类,(java只能单继承(extend),而Runable是一个interface任意类可以实现(implement)).更重要的是,用实现Runable的方式可以方便的使用高级的线程管理API.

 

 

需要看Thread类详细说明的请看

http://java.sun.com/javase/6/docs/api/java/lang/Thread.html