您的位置:首页 > 编程语言 > Java开发

JAVA学习心得--线程

2007-04-12 09:33 711 查看
1、线程的优先级都在常数1(Thread.MIN_PRIORITY)到10(Thread.MAX_PRIORITY)之间。若没有明确设置,则线程的优先级为常数5(Thread.NORM_PRIORITY)。线程优先级可以通过setPriority(int grade)方法调整。getPriority()方法返回优先级。
2、start()线程调用该方法将启动线程,使之从新建状态进入就绪队列排队。
3、run()用来定义线程对象被调度之后所执行的操作,由系统自动调动而用户不得引用。
4、sleep(int millsecond)放弃处理机,休眠一段时间。休眠时间长短由其参数决定,时间单位为毫秒。休眠时被打断抛出异常。因此,必须在try-catch语句块中调用sleep()方法。
5、isAlive()检查线程是否处于运行状态的方法。
6、currentThread()是Thread类中的类方法,可以用类名调用,返回当前使用cpu资源的线程。
7、interrupt()在一个使用CPU资源的其他线程中,可以让休眠的线程分别调用interrupt()方法“吵醒”自己,发生InterruptedException异常,从而结束休眠。
8、处理线程同步时,用关键字synchvonized修饰要修改数据的方法。这样,当线程A调用该方法时,另的线程一旦调用次方法会引起阻塞。
9、线程同步中,如果当前线程使用的同步方法涉及到某个变量,而次变量又需要其他线程修改后才能符合当前线程的需要,那么使用wait()方法中断线程的执行,并允许其他线程使用这个同步方法。别的线程使用完这个同步方法后,用notifyAll()方法通知所有由于使用这个同步方法而处于等待的线程结束等待。notify()只通知某一个等待线程。
10、一个线程A在占有cpu资源期间,用B.join()调用B线程和本线程联合。此时,A将立刻中断执行,等线程B执行完毕,线程A再重新申请cpu资源。
11、一个线程调用void setDaemon(boolean on)方法可以将自己设置成一个守护(Daemon)线程,如thread.setDaemon(true)。当程序中所有用户线程都已结束运行时,即使守护线程的run()方法中还有需要执行的语句,守护线程也立即结束运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: