java中线程的使用,暂停和停止

    进程就是一个正在进行中的程序,由操作系统分配一个内存空间,不同的进程之间不能直接实现数据的共享。

    而在一个进程中,还可以同时进行多件事情,这每一件事情便是一个线程。

    在JAVA中,Thread便是线程类,它的使用分以下几个步骤:

    首先,创建一个类让他继承Thread,那么这个类便是一个线程类,也就是这个类的对象可以用来同时干多件事情。

    然后,在这个线程类中重写父类Thread的run()方法,也就是在run里面写上这个线程是干什么的,启动之后该自动完成那些任务。

    最后当需要使用线程时,就创建这个线程的对象,由于线程的run()方法是不能直接调用的,所以让对象调用线程的start()方法,这时线程便会在此程序的进程内存中被分配一个内存空间,来自动执行线程的run()方法。

    对于怎么让线程停止和暂停,java中原本提供了一些方法,不过现在都不能用了,所以我们采用的是在线程的run()方法中做一些处理来达到线程停止和暂停的效果。

    线程的停止:

    首先明白,当线程的run()方法结束,那么这个线程也就结束了,所以一般的线程在run()方法中都会设有一个死循环while(true){};这样就可以让线程的run()方法一直执行不完,线程便一直在进行,所以要让线程停止,便需要将这个死循环结束,所以一开始在while的条件里面不应该直接写true,而是写一个boolean变量,这样我们就可以通过控制这个变量的值,来控制线程的结束了。

    线程的暂停:

    暂停也是将线程停下来,但是暂停之后还需要能够继续,如果继续照上面让线程停止的方法的话,run()方法结束这个线程也就没了,再将boolean改回来也不会继续执行了,所以我们采用的是不结束掉线程的run()方法,也就是说死循环继续执行,而我们要线程做的事不直接写在死循环里面,而是用一个if()语句扩起来,在if语句的条件中设置一个控制暂停的boolean变量,也就是说,如果暂停了,那么if语句便不执行,那么线程设定的操作也就不执行,线程便看起来暂停了,然而实际上,线程的run()方法还没听,死循环一直在进行,只是没有做事而已,这样的话,当我们想要继续的时候,只要将if的条件变量改为true,那么循环中又开始执行if语句中的操作,那么线程就又开始做事了。通过这样的控制也就达到了暂停继续的效果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值