java多线程介绍
来源:才华咖 本文已影响4.5K人
来源:才华咖 本文已影响4.5K人
多线程的基本实现
进程指运行中的程序,每个进程都会分配一个内存空间,一个进程中存在多个线程,启动一个JAVA虚拟机,就是打开个一个进程,一个进程有多个线程,当多个线程同时进行,就叫并发。
Java创建线程的两种方式为: 继承Thread类 和实现Runnable接口
Thread类
1、通过覆盖run方法实现线程要执行的程序代码
2、Start()开始执行多线程
package iancheng;
public class d1 extends Thread{
public void run(){
for(int i=0 ; i<50; i++){
tln(i);
tln(currentThread()。getName());
try {
sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generatedcatch block
tStackTrace();
}
}
}
public static void main(String[] args){
new d1()。start();
new d1()。start();
}
}
多个线程共享一个实例的.时候,代码代码如下:
package iancheng;
public class d1 extends Thread{
int i=0;
public void run(){
for(i=0 ; i<50; i++){
tln(i);
tln(currentThread()。getName());
try {
sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generatedcatch block
tStackTrace();
}
}
}
public static void main(String[] args){
new d1()。start();
new d1()。start();
}
}
结果如下所示:
Thread-1
Thread-0
1
Thread-1
1
实际2个线程在操纵不同的变量a,在执行run方法时候,线程把a都当做自己的变量在执行。
Runnable接口实现多线程
当一个继承自Thread时,就不能再继承其他类,使用Runnable接口解决了此问题,在新建一个Thread类中,在构造方法中初始化
Thread(Runnable target)
分配新的 Thread 对象。
Thread(Runnable target,String name)
分配新的 Thread 对象。
package iancheng;
public class D2 implements Runnable{
int i=0;
public void run(){
for(i=0 ; i<50; i++){
tln(i);
tln(entThread()。getName());
try {
p(100);
} catch (InterruptedException e) {
// TODO Auto-generatedcatch block
tStackTrace();
}
}
}
public static void main(String[] args){
D2 d=new D2();
Thread t=new Thread(d);
t();
}
}
关于Java程序员面试中的多线程问题总结
Java语言程序调试技巧与多线程问题
如何学好Java 学习Java的步骤介绍
Java多线程的定义状态和属性
java多线程同步块实例讲解素材
java多线程的同步和异步
高级Java多线程面试题及回答(15个)
java程序员自我介绍
JAVA JNI函数的注册过程介绍
举例讲解Java中的多线程范文欣赏
Java4安卓开发教程之java的变量
Java多线程同步问题
Java入门教程:如何使用一个Java
java程序员自我介绍
JAVA多线程并发下的单例模式应用
Java程序员面试自我介绍
java多线程面试题2017
Java多线程常用的几个关键字
计算机二级JAVA考试构建JAVA程序2017
Java多播套接字的方法介绍
计算机二级Java入门教程:Java类的基本构成
2016年java多线程面试题及答案
40个Java多线程问题总结
java多线程教程
sun认证java程序员须知Java日志框架