java线程 作用_java多线程-概念和作用

一:线程概念

线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程

一个进程至少包含一个线程,如果一个进程包含2个以上,表示该进程是多线程操作,那就存在资源共享的问题,多线程争夺资源的问题,所以才有了锁机制的存在,防止多个线程打架

二:多线程的作用

1.为什么会有多线程:

1)由于早起的操作系统dos里,一个进程只有一个线程,随着机器的发展,发现一个进程如果存在多个线程来处理,这将大大利用期cup,让cup充分利用,也可以让一个进程的程序让多个线程来跑,这将大大加快代码的执行时间。

2)实际上多线程的工作方式:表面上一个进程包含多个线程,代码由多个线程同时进行,但实际到了cup那里,cpu的调度不会出现多个同时调度,实际到了cup还是单个调度,只是中间有个时间间隔,这个时间间隔来调用不同的线程,eg:10ms执行这个线程,然后执行别的线程,最后回来又重新执行现在的线程,通过时间差来保证多线程的工作,由于时间间隔非常短,所以我们感觉多线程是并发进行的,这才有了多线程跑期来远比单线程快很多的道理。

3)多线程带来的困扰:上面都说了很多好处,那他有没有坏处呢,答案是肯定的,有坏处,多线程共享一个进程的资源(主要还是内存的资源),资源的分配怎么保证大家都能共享,这是第一个问题;第二个问题:如果程序里存在读写并存的情况,很有可能我的写和读也是并行的,这样就会出现数据的误差,所以想了个办法,这样的情况,我把代码加个锁,只有保证我数据写完了,我才把锁交出来,一个时间段里,我只有一把锁来维持,用完了再交给别人,防止数据的读和写被同时修改的可能。

4)多线程应该注意的地方:只有你充分理解了多线程在jvm里的工作方式,你才可以大胆的使用它的好处,否则,还是谨慎一点,别丢了西瓜捡了芝麻。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值