摘要: 套接字是基于TCP协议的网络通信。 基于UDP 阅读全文
posted @ 2018-08-16 23:10 寒潭渡鹤影 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 使用URL创建对象的应用程序称为客户端程序。 URL对象调用InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。 InetAddress类可以将域名和IP地址一起输出。 如: 网络通信使用IP地址标识Internet上的计算机,使用端口号标识服 阅读全文
posted @ 2018-08-16 21:57 寒潭渡鹤影 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 不可以在非同步方法中使用wait()、notify()和notifyAll()。 阅读全文
posted @ 2018-08-16 19:54 寒潭渡鹤影 阅读(75) 评论(0) 推荐(0) 编辑
摘要: Java程序中可以存在多个线程,但是在处理多线程问题时,必须注意这样一个问题:当两个或多个线程同时访问同一个变量,并且一些线程需要修改这个变量。这时可能发生混乱。 所谓线程同步就是若干个线程都需要一个synchronized(同步)修饰的方法。 线程同步机制:当一个线程A使用synchronized 阅读全文
posted @ 2018-08-16 19:40 寒潭渡鹤影 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 线程的常用方法 1.start() 线程调用该方法将启动线程,使之从新建状态进入就绪队列排队。 2.run() 3.sleep() 4.isAlive() 线程处于新建状态时,线程调用isAlive()方法返回false。 运行 运行结果如下所示: 阅读全文
posted @ 2018-08-16 18:37 寒潭渡鹤影 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 对于Thread(Runnable target)构造方法创建的线程,轮到它来享用CPU资源时,目标对象就会自动调用接口中的run()方法,因此,对于使用同一目标对象的线程,目标对象的成员变量自然就是线程共享的数据单元。 下面的例子中,房屋就是线程的目标对象,房屋中的一桶水被猫和狗共享。 House 阅读全文
posted @ 2018-08-16 11:12 寒潭渡鹤影 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 使用Thread创建线程通常使用的方法是:Thread(Runnable target)。该构造方法中的参数是一个Runnable类型的接口,因此在创建线程对象时必须向构造方法的参数传递一个实现Runnable接口类型的实例。 代码展示如下所示: CarTarget.java ElephantTar 阅读全文
posted @ 2018-08-16 10:30 寒潭渡鹤影 阅读(93) 评论(0) 推荐(0) 编辑
摘要: Thread类与线程的创建 让线程启动时使用我们自己创建run()的两种方式:一种是继承Thread类,实现其中的run()方法,然后用继承的类用无参构造方法创建对象就可以了。第二种是实现Runnable接口,实现其中的run()方法,然后用实现接口的类创建对象并赋值到Thread的带参(Runna 阅读全文
posted @ 2018-08-16 10:24 寒潭渡鹤影 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 当JVM加载代码,发现main方法之后,就会启动一个线程,这个线程称为“主线程”(main线程),该线程负责执行main方法。那么在main方法执行中再创建的其他线程就称为程序中的其他线程。 如果main方法中又创建了其他线程,那么JVM就要在主线程和其他线程之间轮流切换,保证每个线程都有机会使用C 阅读全文
posted @ 2018-08-16 00:53 寒潭渡鹤影 阅读(627) 评论(0) 推荐(0) 编辑