多线程的并发一般不是程序员决定,而是由容器决定

多线程的并发一般不是程序员决定,而是由容器决定。

多线程出现故障的原因:

两个线程同时访问一个数据资源(临界资源),形成数据发生不一致和不完整。

数据的不一致往往是因为一个线程中的两个关联的操作只完成了一步。

 1 package TomTexts;
 2
 3
 4 class ExceptionExam7_1 extends Exception        //自定义异常类ExceptionExam7_1
 5 {
 6 private int show;
 7 ExceptionExam7_1 (int a)
 8 {
 9 show=a;
10 }
11 public String toString()
12 {
13 return "ExceptionExam7_1 <"+show+">";
14 }
15 }
16 public class TomTexts_37
17 {
18 static void caculate(int a) throws ExceptionExam7_1
19 {
20 System.out.println("对["+ a +"]已经进行过相应的操作");
21 if(a>100)
22 throw new ExceptionExam7_1 (a);
23 System.out.println("执行该算法正常退出!");
24 }
25 public static void main(String args[])
26 {
27 try
28 {
29 caculate(1);
30 caculate(1000);
31 }
32 catch (ExceptionExam7_1 e)
33 {
34 System.out.println("捕获了异常" + e);
35 }
36 }
37 }

原文地址:https://www.cnblogs.com/borter/p/9425127.html

时间: 2024-09-28 15:39:16

多线程的并发一般不是程序员决定,而是由容器决定的相关文章

黑马程序员–Java之多线程09

黑马程序员–Java之多线程09 一.线程和进程 在Java中,并发机制非常重要,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制被称为多线程.多线程就是指一个应用程序中有多条并发执行的线索,每条线索都被称作一个线程,它们会交替执行,彼此间可以进行通信.多线程是非常复杂的机制,在每个操作系统中的运行方式也存在差异,window操作系统是多任务操作系统,它以进程为单位.一个进程是一个包含有自身地址的程序,每个独立执行的程序都称为进程,也就是正在执行的程序.系统

只有程序员可以看懂的笑话 大全集(1)

宪法顶个球!中国的法律都是.txt文件,不是.exe文件. 程序员:三年前,当我写下这个的时候,只有上帝和我能够看懂. 现在,只有 上帝能看懂了. 同事说,他在写i++的时候总觉的自己写的是 我艹.........有木有同感??? ? 程序员,年二十有二,始从文,连考而不中. 遂习武,练武场上发一矢,中鼓 吏,逐之出. 改学IT,自撰一函数,用之,堆栈溢出. <桃花庵--程序员版>写字楼里写字间,写字间中程序员: 程序人员写程序, 又将程序换酒钱: 酒醒只在屏前坐,酒醉还来屏下眠: 酒醉酒醒日

Java架构师分享自己的技术体系,程序员如何从码农到专家

一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心驱动力.我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦): 下图是我总结出目前最应该学习的源码知识点: 二.分布式架构 分布式系统是一个复杂且宽泛的研究领域,学习一两门在线课程,看一两本书可能都是不能完全覆盖其所有内容的. 总的来说,分布式系统要做的任务就是把多台机器有机的组合.

编程:从前有一个傻呆程序员,老婆交给他一项任务,他办了四次才满意

从前有一个傻呆程序员,他老婆交给他一项任务:"去买3斤橙子,买最大最甜最便宜的脐橙". 普通人买水果直接去店里就买了,但程序员不同.程序员心道:"大,好分辨,甜,不好分辩.水果店老板肯定不让每个橙子都试吃一下的".于是问Siri,Siri说:"一般橙子屁股上有脐圈的,是母橙,母橙比较甜".就这样通过调研,甜度辨别的技术难题解决了. 接下来程序员开始策划去哪里买.经Siri调查,小区里共有4家水果店.程序员心道:"这4家店每家都可能卖橙子

黑马程序员——总结——多线程——改1

多线程 一.线程的概念 线程时程序执行的控制单元,一个进程必须有一个以上的线程:多线程并发执行可以提高程序的效率,起到同时执行的效果! 比如:电脑同时执行qq,迅雷:迅雷启动多个线程下载多个文件:窗口卖票 二.开启线程的方法 两种创建线程的方法:Extends Thread和implements Runnable (1).继承方法  a,定义类继承Thread. b,复写Thread中的run方法. 目的:将自定义代码存储在run方法中,让线程运行. c,创建定义类的实例对象.相当于创建一个线程

黑马程序员_多线程

------- android培训.java培训.期待与您交流! ---------- 多线程1.进程: 正在运行的程序所占有的内存空间,叫做进程. 线程: 一个应用程序中的子程序,对于CPU,子程序可以有一条独立的执行路径,称为线程. 线程特点:依靠一个应用程序,对于其他子程序,独立被CPU执行的2.多线程的好处: 充分利用CPU的资源,程序的同时运行,提高效率3.java中线程创建的两种方法: 第一种: 定义类继承Thread class extends Thread 重写Thread中的r

黑马程序员---Java多线程

---------------------- Android开发.java培训.期待与您交流! ---------------------- 线程与进程是程序运行中体现的两个名词,它包含这不同的程序域.进程指的是一个正在运行的程序,如:360,QQ运行时就是不同的两个进程.当你打开windows任务管理器时,看到的每个进程就是此时windows中正在运行的程序.线程则就是进程中的一个个独立的控制单元,线程控制着进程的执行,也就是说每个正在运行的程序中就包括着很多的线程. 主线程:Java虚拟机运

黑马程序员__多线程

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1.线程是程序执行的一条路径, 一个进程中可以包含多条线程,多线程并发执行可以提高程序的效率, 可以同时完成多项工作. 2.开启新线程的两种方式 1).继承Thread [java] view plaincopy public stati

黑马程序员_Java多线程

- - - - - android培训.java培训.期待与您交流! - - - - - - 进程:正在进行中的程序.其实进程就是一个应用程序运行时的内存分配空间.进程负责的是应用程序的空间的标示. 线程:其实就是进程中一个程序执行控制单元,一条执行路径.线程负责的是应用程序的执行顺序. 一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序. 每个线程在栈区中都有自己的执行空间,自己的方法区.自己的变量. jvm在启动的时,首先有一个主线程,负责程序的执行,