java在WEB的大部分应用是建立在多线程的基础上。大量的服务端都采用多线程方式提供服务。多线程中针对共享资源的操作不当时,会造成数据错乱(带来的问题非常棘手,往往带来很严重的错)。
针对开发的服务端程序,需要开发多线程client程序是必不可少的步骤。
------------------------------------------------------------------------------------------------------------------------------------
线程的实现方式:
- 实现Runnable 接口,实现run()方法 需要借助Thread类 进行包装 执行start()方法。
package com.jqyc.jase; import java.util.Date; public class TestRunnable implements Runnable { @Override public void run() { // TODO Auto-generated method stub System.out.println( new Date().toString() + " "+ Thread.currentThread().getName()); } public static void main(String[] args) { for (int i = 0 ;i < 10; i++) { new Thread(new TestRunnable()).start(); } } }
- 继承Thread类,重写run()方法 ,执行start()方法。
package com.jqyc.jase;
import java.util.Date;
public class TestThread extends Thread{
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
System.out.println( new Date().toString() +" " + Thread.currentThread().getName());
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
new TestThread().start();
}
}
}
- Thread 与Runable之间的关系如下:
参看:https://www.cnblogs.com/renhui/p/6066852.html