Java线程问题 线程java多线程类 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 socket是用于网络通信的。thread是用于处理多IO操作的(线程归根结底是为了合理利用资源,资源是什么,就是CPU以及内存的利用,对于这些的操作都是围绕IO进行的)。它们之间的交互是在于socket在通信的时候,也是io ---> socket.getInputStream socket.getOutputStream那么当多个请求(1个请求就是1个socket,你可以这么理解),那么请求就会产生队列,而socket的io是阻塞式的,所谓的阻塞就是我当前这个线程一次只能处理一个请求,那么后面的请求你们都需要等待我当前这个线程处理一个请求结束后再处理,此时就可以去创建多个线程(一般为了线程的循环利用,都是线程池)去处理多个请求。如果你用过tomcat等类似的容器,它们一般都会有一个配置参数,就是配置最大请求处理数,其实就是上面说的线程池中的线程个数。 多线程对象中有你说的普通java类对象,多线程run方法里调用该普通java对象的方法,最后new多个多线程对象,分别start,这样就是最简单的能实现的多线程了。 http://blog.csdn.net/andy_gx/article/details/42804273多线程是一种并发处理机制,不是哪个类随便都需要支持多线程的,要看你访问的是否是一个可变状态的变量,具体可以参考我的我的围脖。socket是套接字通信协议,是基于TCP/UDP的,有BIO、NIO、AIO,效率高框架丰富的那就是NIO了,有MINA、NETTY。 public class Test { public static void main(String[] args) { class MyThread extends Thread { private String name; public MyThread(String name) { this.name = name; } @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(this.name + "--->执行"); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } } Thread a = new MyThread("a"); Thread b = new MyThread("b"); // run是方法调用 // a.run(); // b.run(); // start是启动线程。 a.start(); b.start(); }} Java的多线程概念上和语法上没什么难的,难的是实际用!! 多线程是一种并发处理机制,不是哪个类随便都需要支持多线程的,要看你访问的是否是一个可变状态的变量,具体可以参考我的我的围脖。socket是套接字通信协议,是基于TCP/UDP的,有BIO、NIO、AIO,效率高框架丰富的那就是NIO了,有MINA、NETTY。这里有代码实例:http://blog.csdn.net/andy_gx/article/details/42804273 ,跟着实例学习java多线程。 extjs提交表单数据的问题 Jsoup过滤html标签 com.nfschina.utils.DataPage 这属于哪个jar包? 一个jni问题。急!!!!!!!! Hibernate: 项目部署到服务器后,假如数据库IP和密码需要更改怎么处理? Struts2是怎么截取URL地址的? 求助各位帮忙 用java编写个软件更新程序 SSH的一个奇怪的问题.... 在weblogic如何测试配置的数据库连接池是否设置成功? 散分!请问网上哪里有JBUILDER数据库开发资料下载? mybatis配置文件中 写一个select 对JAVA WEB的一个疑问,很SB的问题 希望有人解答
thread是用于处理多IO操作的(线程归根结底是为了合理利用资源,资源是什么,就是CPU以及内存的利用,对于这些的操作都是围绕IO进行的)。
它们之间的交互是在于socket在通信的时候,也是io ---> socket.getInputStream socket.getOutputStream
那么当多个请求(1个请求就是1个socket,你可以这么理解),那么请求就会产生队列,而socket的io是阻塞式的,所谓的阻塞就是我当前这个线程一次只能处理一个请求,那么后面的请求你们都需要等待我当前这个线程处理一个请求结束后再处理,此时就可以去创建多个线程(一般为了线程的循环利用,都是线程池)去处理多个请求。
如果你用过tomcat等类似的容器,它们一般都会有一个配置参数,就是配置最大请求处理数,其实就是上面说的线程池中的线程个数。
多线程是一种并发处理机制,不是哪个类随便都需要支持多线程的,要看你访问的是否是一个可变状态的变量,具体可以参考我的我的围脖。socket是套接字通信协议,是基于TCP/UDP的,有BIO、NIO、AIO,效率高框架丰富的那就是NIO了,有MINA、
NETTY。
this.name = name;
} @Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(this.name + "--->执行");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
} Thread a = new MyThread("a");
Thread b = new MyThread("b");
// run是方法调用
// a.run();
// b.run();
// start是启动线程。
a.start();
b.start();
}
}
NETTY。
这里有代码实例:http://blog.csdn.net/andy_gx/article/details/42804273 ,跟着实例学习java多线程。