引
用多线程只有一个目的,那就是更好的利用cpu的资源
- 多线程:指的是这个程序(一个进程)运行时产生了不止一个线程
并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。
并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS或者QPS来反应这个系统的处理能力。
下面是两个简单的线程
public class Rnn extends Thread {
public void run(){
int count=0;
boolean runnin=true;
//getName() 获取线程的名字
System.out.println(getName()+"郭先生要出场了");
while(runnin){
System.out.println(getName()+"正在演出"+(++count));
if(count==100)
runnin=false;
if(count%10==0){
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
System.out.println(getName()+"结束了");
}
public static void main(String[] args) {
Thread acThread=new Rnn();
acThread.setName("mr.guo");
acThread.start();
Thread acThreads=new Thread(new Rnn2());
acThreads.start();
}
}
class Rnn2 implements Runnable {
public void run(){
int count=0;
boolean runnin=true;
System.out.println(Thread.currentThread().getName()+"郭先生要出场了");
while(runnin){
System.out.println(Thread.currentThread().getName()+"正在演出"+(++count));
if(count==100)
runnin=false;
if(count%10==0){
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
System.out.println(Thread.currentThread().getName()+"结束了");
}
}
。我们有两种方式来实现一个线程,分别是继承Tread类和实现Runnable接口
。sleep是Tread的方法是休眠的意思 线程暂停,把执行机会让给其他线程。
。启动一个线程调用start()方法,一个线程必须关联一段执行代码