对于线程的理解

1.线程,进程,程序的区别 程序可以分为系统程序和应用程序。 一个应用程序就是一个进程,在程序中,如果不进行多线程操作,则这个应用程序就只有一个主线程,这种程序被称为单线程程序,他们都是顺序调用,就如同电路里的串联电路。 而多线程则如同并联电路,在主线程运行的时候,让其他调用并行执行,所以可以说,线程是程序运行中的最小运行单位,一个进程中可以有多个线程。 进程与线程最本质的区别在于,多个进程的内部数据和状态都是完全独立的,而多线程是共享一块内存空间和一组系统资源(在同一进程内)。

2.线程的创建方式 java中线程对象都是继承了java.util.Thread类的对象或implements了java.util.Runnable接口的类的对象。线程的启用是调用start()方法,调用后首先运行的是run()方法,即可以认为run()方法是副线程的main方法。在应用设计中,如果一个线程要长时间循环执行某一任务,它会长时间的占用cpu导致其他程序不能进行,所以我们有必要让线程隔一段时间暂停一下,这就要用到Thread.sleep(long time)方法,使线程暂停time指定的时间后再开始运行,暂停单位以毫秒计,即千分之一秒;sleep方法只会让被调用的线程暂停(或叫做挂起)---不是停止,也不是退出,这个时间段一过,线程又会被VM调度到运行状态。当线程在sleep状态时,如果VM或其他线程强行终止这个线程,sleep方法会出现强制检测异常,所以要与try____catch方法连用。

3.线程的监听模式 多线程的监听与一般的监听有相似的地方,都是创建一个监听器类,再通过类的对象调用监听,不同之处在于,其他的监听是通过add()方法加入程序块中,而线程的监听也是一个线程只不过这个监听类implements了Runnable接口,并在主线程处通过start()调用,而且相对于其他线程,监听线程必须是第一个启动的。

4.线程的控制 线程的控制在于对线程长时间循环任务的控制,控制它的暂停和继续,我们的做法就是在线程上添加布尔函数,在线程执行循环是通过while循环通过这个布尔函数控制循环,当然这个布尔函数的值的变化还要通过写出的方法控制,同时注意让CPU休息即运用sleep和try____catch组合让线程暂停,注意sleep方法虽然能让线程暂停,但并不能根据我们的意愿控制线程。所以线程的控制方法最好是自己编写而不是依靠已有的JDK。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值