博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黑马程序员——对线程的一些总结
阅读量:5220 次
发布时间:2019-06-14

本文共 508 字,大约阅读时间需要 1 分钟。

1.为什么要覆盖run()方法?

   Thread类用于描述线程。该类就定义了一个功能,即存储线程要运行的代码,该存储的功能就是由run()方法来实现的。

2.线程的运行状态:

   线程被创建,调用start()方法进入运行状态;如果调用sleep(time)或者wait()方法线程进入冻结状态,但依然存在,此时可以试用notify()方法唤醒线程;

   当线程运行结束或者调用stop()方法,线程便消亡了。

3.关于多线程的安全问题

   解决方式:对多条操作共享数据的语句,只能让一个线程执行完毕之后,在执行过程中其他线程不可参与。

        即同比代码块:synchronized(对象){需要同步的代码}

     上面的对象其实就是锁,持有锁的线程才可以执行同步代码块中的代码,没有持有锁的的线程即使获取了cpu执行权也进不去,因为没有获得锁对象

      同步的前提:有两个或者两个以上的线程

                      必须多个线程使用同一个锁对象

 4.如何看哪些代码需要同步?

  • 明确哪些代码是多线程运行代码
  • 明确哪些是共享数据
  • 明确多线程运行代码中哪些语句操作共享数据

转载于:https://www.cnblogs.com/wdsthink/p/4372896.html

你可能感兴趣的文章
sshpass ssh登录时自动输入密码
查看>>
训练记录
查看>>
【转】ubuntu16.04设置python3为默认及一些库的安装
查看>>
算数几何均值不等式,柯西不等式,琴生Jensen不等式
查看>>
mysql group by的用法 注意
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Python中的join()函数的用法
查看>>
Hive教程(1)
查看>>
黑马程序员-指针的初步认识
查看>>
提示未授予用户在此计算机上的请求登录类型
查看>>
PHP二维数组排序
查看>>
转:一堂如何提高代码质量的培训课
查看>>
一个奇葩常见的问题 nginx 403 forbidden错误
查看>>
[HDU4417]Super Mario(主席树+离散化)
查看>>
转 大话权限设计
查看>>
如何 Mock 非虚方法和密封类?
查看>>
判断应用程序是控制台程序还是窗体程序
查看>>
hdu 相遇周期
查看>>
Hive分区表增加字段新增字段值为空的bug
查看>>
rman catalog配置简要笔记
查看>>