问题1:创建线程的基本方法有哪些?
1、通过继承Thread类创建线程
public class MyThread extends Thread{
//覆写Thread的run()方法
@Override
void run(){
...
}
}
Thread a=new MyThread();
a.start();
2、通过实现Runnable接口创建线程
public class MyThread implements Runnable{
//实现Runnable接口的run()方法
public void run(){
...
}
}
MyThread my=new MyThread();
Thread a=new Thread(my);
a.start();
3、使用Callable和Future来创建线程
4、通过线程池来创建线程
问题2:volatile关键字有什么作用?
禁用CPU缓存
1、线程的可见性:当一个线程修改一个共享变量时,其他线程只能读到这个修改的值
2、顺序一致性:保证变量前后代码的执行顺序
问题3:Java提供了哪些同步机制来实现互斥?
1、JVM的对象监视器(monitor)与synchronized
synchronized代码块:监视器就是指定的对象
synchronized方法:监视器就是this对象
synchronized静态方法:监视器就是相应的Class对象
2、JDK的Java并发包中的锁类:Lock接口和ReentrantLock类
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧