b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

ccriticalsection 多线程 死锁_c# 线程死锁_linux 线程死锁(2)

电脑杂谈  发布时间:2019-07-22 09:05:28  来源:网络整理

5.1、设计4个线程ccriticalsection 多线程 死锁,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。

问:什么是多线程安全?

答:当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。做读操作是不会发生数据冲突问题。

问:如何解决多线程之间线程安全问题?

答:使用多线程之间同步或使用锁(lock)。

问:为什么使用线程同步或使用锁能解决线程安全问题呢?

答:将可能会发生数据冲突问题(线程不安全问题),只能让当前一个线程进行执行。被包裹的代码执行完成后释放锁,让后才能让其他线程进行执行。这样的话就可以解决线程不安全问题。

问:什么是多线程之间同步?

答:当多个线程共享同一个资源,不会受到其他线程的干扰。

问:什么是同步代码块?

①线程在执行同步代码块或同步方法时,程序调用thread.sleep()方法,thread.yield()方法来暂停当前线程的执行,当前线程不会释放同步监视器的锁定。一个线程可以调用pthread_mutex_lock获得mutex(操作系统调度执行此线程),如果这时另一个线程已经调用pthread_mutex_lock获得了该mutex,则当前线程需要挂起等待(操作系统仍可能在调度执行此线程)ccriticalsection 多线程 死锁,(操作系统调度切换运行另一线程)直到另一个线程调用pthread_mutex_unlock释放mutex,(另一线程释放mutex时操作系统调度运行此线程)当前线程被唤醒(即从此线程上次执行的地方继续执行),才能获得该mutex并继续执行。需要说明的是,在执行notify()方法后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获取该对象锁,要等到执行notify()方法的线程将程序执行完,也就是退出synchronized代码块后,当前线程才会释放,而呈wait状态所在的线程才可以获得该对象锁。

问:多线程同步的分类?

1.使用同步代码块?

synchronized(同一个数据){

可能会发生线程冲突问题

}

private Object mutex = new Object();// 自定义多线程同步锁
	public void sale() {
		synchronized (mutex) {
			if (trainCount > 0) {
try {
					Thread.sleep(10);
				} catch (Exception e) {
				}
				System.out.println(Thread.currentThread().getName() + ",出售 第" + (100 - trainCount + 1) + "张票.");
				trainCount--;			}
		}
	}

2.使用同步函数

在方法上修饰synchronized 称为同步函数

public synchronized void sale() {
			if (trainCount > 0) { 
try {
					Thread.sleep(40);
				} catch (Exception e) {
				}
				System.out.println(Thread.currentThread().getName() + ",出售 第" + (100 - trainCount + 1) + "张票.");
				trainCount--;
			}
	}

3.静态同步函数

方法上加上static关键字,使用synchronized 关键字修饰 为静态同步函数

静态的同步函数使用的锁是 该函数所属字节码文件对象

问:同步代码块与同步函数区别?

答:

同步代码使用自定锁(明锁)

同步函数使用this锁

问:同步函数与静态同步函数区别?

注意:有些面试会这样问:例如现在一个静态方法和一个非静态静态怎么实现同步?

答:

同步函数使用this锁

静态同步函数使用字节码文件,也就是类.class

问:什么是多线程死锁?

答:

同步中嵌套同步

解决办法:同步中尽量不要嵌套同步


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-114832-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...