程序顺序执行是指其在处理液岩器上的执行是严格有序的,即只有在前一个 *** 作结束后才能开始后续 *** 作。如果有多个程序,这些程序必须按照调用次序严格有序执行。而且这些程序如果中断,这是允许的,但不停止,中断不会对程序最终造成影响,也就是说程序执行结果与执行速度无关。
举例:
按顺序从上往下求解过程鸡兔同笼程序中第七行给变量赋初值,第八行求鸡的只数,第九行求兔子的只数,最后输出;
并发程序设计:
程序的执行不再是顺序的,一个程序为执行完而另一个程序便以开始执行,程序外部的顺序性消失,程核森序与计算不再一一对应。一组程序的执行在时间上是重叠的。
举例:学生在挂网络课的过程中,可以一闹氏御边挂课一边完成 *** 作系统的作业,两者互不干扰
因为运行的程序慎数不活跃,所以在任务栏的快捷图标被隐藏了,可以根据以下步骤设为全部显示即可:
所需材料:WIN7 64位系统示例。
一、首先鼠标右键点击任务栏的空白区域。
二、d出的菜单内点击“属性”。
三、打开任务栏菜单属性后,点击“任务栏按钮”右边的“箭头”,菜单内选择使用“从不合并”,然后点击“应用”。
四、接着点击通知区域的“自定义”。
五、勾选“始终在任务栏上显示所有图标和通知”并点击“确弊孝吵定”租侍。这样就会显示全部正在运行的程序。
并发编程三要素(线程的安全性问题体现在):
原子性:原子,即一个不可再被分割的颗粒。原子性指的是一个或多个 *** 作要么 全部执行成功要么全部执行失败。
可见性:一个线程对共享变量的修改,另一个线程能够立刻看到。 (synchronized,volatile)
有序性:程序执行的顺序按照代码的先后顺序执行。(处理丛竖器可能会对指令进行 重排序)
出现线程安全问题的原因:
线程切换带来的原子性问题
缓存导致的可见性问题
编译优化带来的有序性问题
解决办法:
JDK Atomic开头的原子类、synchronized、LOCK,可以解决原子性问题
synchronized、volatile、庆世LOCK,可以解决可见性问题
Happens-Before 规则可以解誉郑肢决有序性问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)