A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

     今天是自习课哦,翻了翻之前的学习笔记巩固了一遍,把昨天的案例再写了一遍。然后下午本来是想看明天的学习内容的发现没有,只有多线程的就看了一下多线程的课程。多线程指得就是程序在内存中进程中用多个线程进行运行,我们学习的main主方法是一个单线程的。单线程的特点就是安全性高但效率低。而多线程正好相反,是安全性低但效率高。在for例子中自己手敲了一下多线程的代码。主要有两种方法:第一个就是创建子类继承Thread抽象类实现它里面的run方法,与调用不同,多线程的用是运用Thread中的start方法进行多线程;第二种就是创建实现类实现Runnable接口的方法。给我的感觉就是比较麻烦,因为用这种方法还要将创建Thread对象才能使用它里面的方法。但是这是推荐的方法,继承是单一的,在实例中很有可能出现必须同时多线程的情况,此时只能用实现接口的办法了。
    接下来还学习了Thread中的sleep方法(作用是讲方法用毫秒来计时将方法暂停),但在运行时发现出现了问题,如果在有判断条件下有sleep方法时,程序的执行流程是也是会执行sleep方法的,此时其他线程是忽略该方法继续进行的。所以引出了解决在使用sleep方式时出现错误的办法—Synchornized(同步)代码块。将需要进行sleep方法的代码放入同步代码块中就能将线程同步(举例上厕所排队问题)。最后还看了将同步代码块进行封装并进行调试。

5 个回复

倒序浏览
保持哦,继续努力哈
回复 使用道具 举报
保持哦,继续努力哈
回复 使用道具 举报
(举例上厕所排队问题)
这个问题就不用举例了把,,,,
回复 使用道具 举报


回复 使用道具 举报
不错不错      加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马