Java基础第二十三天

Java基础第二十三天

多线程:         多条执行单元

         进程:正在运行的应用程序

         线程:进程的执行单元,一条执行路径

                   迅雷下载,360清理

 

         多线程程序实现:

                   线程依赖于进程存在,Thread类

                            子类继承

                            子类重写run方法

                            调用strart(),让线程启动,调用run()方法

                                     同一个线程对象连续两次启动,报错:表示该线程状态有问题

                            getName()方法:标志不同线程,获取线程名称

                            setName():更改线程名字

                   线程随机性:

                            程序执行,抢占CPU资源,CPU在多个程序间切换。

                  

                   第二种实现:

                            创建类,实现Runnable接口

                            重写run方法

                            创建类的实例

                            把类的实现作为Thread的构造参数,创建Thread对象引用

                                     Thread.currentThread().getName()

 

                                     优势:

                                               避免了单继承的局限性;

                                               实现接口的方式只创建一次,更好的实现了数据与操作的分离。

                                     买票代码:

                                               A:共享数据;两种方式;

                                               B:卖出负数,卖出相同票--解决问题方式

                                                        【线程的随机性和延迟性】

 

                                     找问题出处:

                                               A:看有没有共享数据;

                                               B:看共享数据的操作是不是多条语句;

                                               C:看是不是在多线程程序中

                                               解决:把满足条件的代码锁在一起  synchronized

                                     锁对象:同步代码块的锁是任意对象

                   同步方法:把锁就在方法上线程安全问题

                            this对象

                            静态方法:类名.class   Class【字节码文件】类型的对象

                   死锁

                            被同步的代码越少越好,建议使用同步代码块

                            若一个方法全部被同步了,就用同步方法

        

         线程间的通信:

                   学生信息录入与输出:多线程随机性

                            录入一个,输出一个同一个

                            学生 信息录入  信息获取  集中测试类

 

更多相关文章
  • 所谓的"托盘",在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分.在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区. 一 .原理 1.最小化的原理:首先要将窗口隐藏,然后 在绘制图标. 2.恢复的原理:将窗口显示,再将托盘 ...
  • vb.net反射机制 再次做机房收费系统出了点小状况,当运用反射机制生成D层类的对象的时候无法获取到类文件,代码如下,而相同的代码在第一次做机房收费系统的时候并没有报错. Public Class DataAccess '从配置文件获取响应数据库的的字符串这里是sql ReadOnly db As ...
  •   为了解决tomcat在大进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式: 一.使用 catalina.bat 等命令行方式运行的 tomcat 查看系统最大支持内存命令:java -Xmx1024m -version 1.修改 tomcat\bin\Ca ...
  • mysql高可用有很多方案,如mmm,mysql cluster等,但都无法真正应用到生产环境.偶然间发现mha(master high availability),目前在mysql高可用方面是一个相对成熟的解决方案,它能够在较短时间内实现自动故障检测和故障转移,通常在10~30秒内:并且在repl ...
  • 从vClient中看到一台主机连接断开,有红色报警标志,通过UCS的KVM Console打开发现,屏幕呈现紫屏! 在此之前主机一直运行正常,重启主机后主机能够进入到ESXi中,进入到UCS中看服务器的状态,如下: 根据上图的错误提示发现内存出现问题,找到出现问题的内存的插槽F1. 打开刀片服务器, ...
  • 每个月Net Applications都会发布上个月桌面操作系统份额统计数据. 这个数据可以帮助我们发现整体市场的趋势.根据这份统计数据显示,Windows 7今年1月份市占率微幅下降,从去年12月的56.26%下降至55.92%,Windows XP的市占率微幅上升,从去年12月的18.26%上升 ...
一周排行
  • 在调试部门建议的附件下载功能时,发现进度条永远呈现的是0%.而此项目的这块功能属于后期维护时客户新添加的功能,原项目开发人员已经不在现有项目团队中了.经过跟踪发现项目多处附件下载是调用的同一处Flex下载组件,而唯有 ...
  •      As weall known,物理学中的"绝对零度"是实现不了的,"绝对光滑"也是实现不了的,回头看三大工厂,尽管一直在不断优化,"开放-封闭"原 ...
  • 2014年1月,由云计算发展与政策论坛成立的“可信云服务工作组”组织实施的“可信云服务认证”首批公开结果显示,中国领先的网络服务整体解决方案提供商蓝汛国际控股有限公司(纳斯达克:CCIH,下文简称“蓝汛ChinaCa ...
  • 最近的一个项目需要动态生成DBF文件,用到JavaDBF,简单介绍一下官方网站:http://javadbf.sarovar.org/官方英文指南:http://sarovar.org/docman/view.php ...
  • 表 A-2 CFBundleDocumentTypes字典的关键字 关键字类型描述CFBundleTypeExtensionsArray该关键字包含了一组映射到这个类型的文件扩展名.为了打开具有任何扩展名的文档,可以 ...
  • 先说说我的遇到的问题: 1. 我在activity里写一个 fragment 2.这个fragment里有个 imageView ,用于显示图片. 我使用 asyncTask获得图片,并准备在这个imageView ...
  • 1. 新版动态此贴 http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202948(v=vs.105).aspx 2. 快速应用恢复 Fas ...
  • “ddl_ekt”有一个无效 SelectedValue,因为它不在项目列表中. 怎么回事 现象: 在用户控件的page_load事件里绑定下拉框,报上面错误   解决: 将下拉框绑定,放在page_Init事件里 ...
  • 今天小编为大家带来了天天酷跑章鱼博士多少钱 新精灵章鱼博士详细介绍,感兴趣的朋友们可以跟着小编去下文了解一下哦 今天小编为大家带来了天天酷跑章鱼博士多少钱 新精灵章鱼博士详细介绍,感兴趣的朋友们可以跟着小编去下文了解 ...
  • 有时候因某种需要,需要修改下默认的上传路径,大家可以参考下下面的修改方法. 所有的配置文件均在 include/common.inc.php 文件中. 代码如下: //模板的存放目录 $cfg_templets_di ...