Java基础-线程

Java基础-线程,第1张

Java基础-线程

1.线程创建

public static void main(String[] args) {
	@SuppressWarnings("unused")
	Thread thread1=new Thread(){
		public void run() {
				System.out.println("run");
		}
	};
	thread1.start();
}

2.继承的方式创建。这种方式跟类的继承没什么区别,普通类继承线程之后具备线程的全部功能。

public class MyThread extends Thread{
	@Override
	public void run() {
		// TODO Auto-generated method stub
		super.run();
		System.out.println("run");
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MyThread myThread=new MyThread();
		myThread.start();
	}
}

3.因为总线传得是电信号,所以同一时刻总线只能走同一种信号

4.高速缓存计算到一定次数之后把数据更新回内存;多线程情况下,某一个线程在其他线程读内存数之前把数据更新回去,就不会产生数据错误。数据样本太多会产生数据错误。数据样本少也可能会发生错误。

5.多线程使用的是同一个数据,第一个线程还没结束计算,第二个线程就开始读取数据就会发生错误。

6.线程数锁:如果不加锁方法每个线程都可以拷贝一份这个方法,加锁同一时刻只有一个线程可以拷贝这个方法,等这个方法结束了,出栈了其他方法才可以拷贝压栈,调用这个方法。

7.锁关键字:synchronized

8.如果有A,B两个线程,第一次分配的是A,A完成任务被释放了之后A,B两个线程开始竞争资源,第二次调用的也可能是A,也有可能是B。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存