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

Java-线程间通信

2016-02-20 11:29 399 查看
Java-线程间通信

一 线程通讯

就是多个线程操作同一个资源,可是操作的动作不同

二 停止线程:

控制住run的循环就能够控制线程结束

当线程处于冻结状态,就不会读取标记,线程就不会结束

interrupt中断函数:从冻结状态变为运行状态,强制转变状态会抛出中断异常

当没有指定的方式让冻结的线程恢复到运行状态时,这时须要对冻结状态清楚

强制让想成恢复到运行状态。这样就能够操作标记让线程结束

三 常见Thread类方法:

setDaemon(boolean):

标记为守护线程或用户进程。当正在运行的线程都是守护线程时,Java 虚拟机退出。

该方法必须在启动线程前调用。

join():必须等待当前线程运行结束,当前线程持有cpu运行权,再切换到主线程(之前主线程被冻结)

当A线程运行到B线程的join方法时,A线程就会等待。等待B线程运行完才会运行

能够用来暂时增加线程运行

toString():

返回该线程的字符串表示形式,包含线程名称、优先级和线程组。

setPriority():优先级。默觉得5,能够更改线程的优先级

这三个经常使用

1 MIN_Priority,

5 NOM_Priority,

10 MAX_Priority

yield():暂停当前正在运行的线程对象。并运行其它线程

四 线程补充

线程池中存放等待的线程

在等待唤醒机制(信号量)中。多个线程相互通信的资源类应该使用

while标记

notifyAll通知唤醒线程池全部线程

同步函数

例如以下图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: