socket_教程

Java socket nttey

一、网络编程之多线程Runnable

duchaochen阅读(737)评论(0)赞(1)

Runnable JDK说的:Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。实现类必须实现一个名称为 run 的无参数方法。 也有其它的说法是:如果让一个线程实现Runnable接口,那么当调用这个线程的对象开辟多个...

二、网络编程之线程停止详解

duchaochen阅读(647)评论(0)赞(0)

引言 多线程中有三种方式可以停止线程。 设置标记位,可以是线程正常退出。 使用stop方法强制使线程退出,但是该方法不太安全所以已经被废弃了。 使用Thread类中的一个interrupt() 可以中断线程。 设置标记位停止线程 先看代码 ...

三、网络编程之线程优先级和守护详解

duchaochen阅读(613)评论(0)赞(0)

一、线程优先级 线程可以划分优先级,优先级分为1-10的10个等级,数字越大优先级越高,优先级较高的线程得到CPU资源较多,也就是CPU优先执行优先级较高的线程对象中的任务(其实并不是这样)。但是线程的优先级仍然无法保障线程的执行次序。只不...

四、网络编程之线程安全详解

duchaochen阅读(613)评论(0)赞(0)

一、方法内部变量线程安全 方法内部的变量一般不会有“非线程安全”的问题。示例。 public class TheadTest5 { public static void main(String[] args) throws Interrup...

五、网络编程之线程同步&死锁详解

duchaochen阅读(614)评论(0)赞(0)

引言 我们再谈 synchronied 同步,现在我们都知道了 synchronied 是同步代码了,它默认是的对象锁是 this,往往效率都不高,因为每次执行到 synchronized 代码块时,其它的 synchronized 代码块...

六、网络编程之生产者消费者(一)

duchaochen阅读(604)评论(0)赞(0)

引言 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,...

七、网络编程之生产者消费者(二)

duchaochen阅读(610)评论(0)赞(0)

前言 上一节讲解了生产者与消费者模式的基本理论以及简单实现,并且遗留下来一个消费商品是 null,库存为:-1的问题 ,看下代码。 /** * 首先需要一个商品共享类 */ Goods goods = new Goods(); Thread...

八、网络编程之多线程之管道流

duchaochen阅读(612)评论(0)赞(0)

引言 在java语言中提供了很多输入与输出流,使我们方便了对数据进行操作,其中管道流是一种特殊的流,用于在不同线程间直接传输数据。一个线程发送到输出管道,另一个线程从输入管道中读取数据。通过使用管道,实现不同线程间的通讯,而无须借助临时文件...

九、网络编程之多线程之单例模式

duchaochen阅读(619)评论(0)赞(1)

引言 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。   单例模式有以下特点:   1、单例类只能有一个实例。   2、单例类必须自己创建自己的唯一实例。   3、单例...

十、网络编程多线程之线程池

duchaochen阅读(607)评论(0)赞(0)

引言 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件)...