b***i 发帖数: 3043 | 1 我有个线程,作大约10秒钟的事情。
我的GUI有个按钮,按下就开始这个线程。但是我不想让多于一个线程同时运行,应该
用什么措施呢?把按钮disable?线程结束的时候在enable? |
h*****0 发帖数: 4889 | 2 有GUI,一般来说就得新开线程。
如果不新开,那你就把GUI的卡住了。接下来10秒你的界面是“死”了的状态。你确实
你想这样?
【在 b***i 的大作中提到】 : 我有个线程,作大约10秒钟的事情。 : 我的GUI有个按钮,按下就开始这个线程。但是我不想让多于一个线程同时运行,应该 : 用什么措施呢?把按钮disable?线程结束的时候在enable?
|
b***i 发帖数: 3043 | 3 我想按下按钮的时候开始这个线程,需要用thread什么吧。这个时候,线程开始运行或
者准备运行了,我再按按钮,就不让新开一个。怎么禁止新开一个?
【在 h*****0 的大作中提到】 : 有GUI,一般来说就得新开线程。 : 如果不新开,那你就把GUI的卡住了。接下来10秒你的界面是“死”了的状态。你确实 : 你想这样?
|
u****s 发帖数: 2186 | 4 use setEnabled() to disable/enable the button
【在 b***i 的大作中提到】 : 我想按下按钮的时候开始这个线程,需要用thread什么吧。这个时候,线程开始运行或 : 者准备运行了,我再按按钮,就不让新开一个。怎么禁止新开一个?
|
g**e 发帖数: 6127 | 5 Executors.newFixedThreadPool(1)
【在 b***i 的大作中提到】 : 我想按下按钮的时候开始这个线程,需要用thread什么吧。这个时候,线程开始运行或 : 者准备运行了,我再按按钮,就不让新开一个。怎么禁止新开一个?
|
S********a 发帖数: 1163 | 6 not sure about GUI.
but if u want to reuse existing threads, not creating new ones, you can use
the thread pools.
starting from java 5, there is the concurrent package in jdk, very useful
and convenient to use for thread managment.
【在 b***i 的大作中提到】 : 我有个线程,作大约10秒钟的事情。 : 我的GUI有个按钮,按下就开始这个线程。但是我不想让多于一个线程同时运行,应该 : 用什么措施呢?把按钮disable?线程结束的时候在enable?
|
g*****g 发帖数: 34805 | 7 For one thread, it sounds overkill, diable the button is fine.
use
【在 S********a 的大作中提到】 : not sure about GUI. : but if u want to reuse existing threads, not creating new ones, you can use : the thread pools. : starting from java 5, there is the concurrent package in jdk, very useful : and convenient to use for thread managment.
|
b***i 发帖数: 3043 | 8 有个办法,我增加一个变量叫mustend,
如果我不幸多按了一次开始按钮,则要先让这个线程的mustend=true,然后再生成新的
线程。线程的程序里面,要循环判断mustend, 如果true,就退出。这样行吧。
【在 g*****g 的大作中提到】 : For one thread, it sounds overkill, diable the button is fine. : : use
|