JAVA中来实现并发访问方式 一
基础知识:
1.市场要求:所有的系统(软件,网站)都是要高并发;
2.并发:例如一个网站同时有多个人来访问;
3.进程:相当于一个独立的内存空间(任务管理器中的一个任务就是一个进程)
4.线程:在一个进程中有多个线程,它是完成并发操作的工具;
多线程在CPU中的分配:JAVA中的多线程(多并发),不是真正的并发,是通过多个线程来抢CPU的时间片,CPU通过轮转时间片来通过实现多线程访问的;
JAVA中来实现并发访问方式:
1.继承Thread(线程)类: 注意必须覆写 run()方法;
线程1:
public class FirstThread extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(this.getName() + ":" + i); //系统默认单位为毫秒 ;1000 = 1秒 try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
线程2:
public class SecondThread extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(this.getName() + ":" + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }测试:
public class TestThread { public static void main(String[] args) { //Thread.currentThread();得到当前线程的 System.out.println(Thread.currentThread()); new FirstThread().start(); new SecondThread().start(); System.out.println(Thread.currentThread()); } }
以上代码运行结果:注线程的执行顺序是不一定的,是因为上述多线程在CPU中时间片轮转;
: 这涉及到硬件问题;
注 :上述sleep()方法是为了让线程交叉进行的效果明显有关此方法,笔者不在此讲解;
:启动线程用 start()方法;