Java多线程和并发编程
多进程
多线程
多进程vs多线程
程序不再是顺序执行了,上下两个while循环在交替运行
多线程只能打开一个程序,但是程序运行中是可以好几个函数交替执行
多进程是可以打开好几个程序
Java多线程创建
两种方法
① java.lang.Thread
线程继承Thread类,实现run方法
public class Thread1 extends Thread{ public void run() { System.out.println("hello"); } }
② java.lang.Runnable接口
线程实现Runnable接口,实现run方法
public class Thread2 implements Runnable{ public void run(){ System.out.println("hello"); } }
Java多线程启动
Start方法会自动以新进程调用run方法,底层使用JNI来实现的
Start会自动触发run方法,这是Thread自己的一个机制,也就相当于认识start和run这两个词
实现Runnable的类必须要依赖Thread才能启动
多线程的运行规则
如果想再start,只能再new一个线程对象出来
Java多线程实现对比
如果程序继承了Thread,就不能继承别的类了(单根继承),如果以后程序要实现什么功能需要继承别的类,就比较麻烦
Thread必须要用static变量才能实现变量共享,Runnable中普通变量就能实现变量共享
多线程信息共享
MPI并行库是一个C/C++的并行库
多线程管理