建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC。这个问题用Object的wait(),notify()就可以很方便的解决。public class MyThreadPrinter2 implements Runnable { ...
分类:
编程语言 时间:
2014-10-06 18:58:40
阅读次数:
157
一、sleep和wait的区别。1.wait可以指定时间,也可以不指定。而sleep必须制定。2.在同步的时候,对于CPU的执行权和以及锁的处理不同。wait:释放执行权,释放锁。sleep:释放执行权,不释放锁。二、线程是否安全? 1 class Test implements Runnable ...
分类:
编程语言 时间:
2014-10-04 02:32:05
阅读次数:
237
Thread.Sleep in WinRTstatic void Sleep(int ms){new System.Threading.ManualResetEvent(false).WaitOne(ms);}
最近用C++写安卓下的一个通讯程序,作为jni库给java调用,采用多线程轮询遇到一个问题描述如下:
A线程收到数据,放入队列,是生产者。
B、C、D若干个线轮询训消息队列,如果队列有数据就取出进行处理,没数据就Sleep(T)休息,问题是这个T值取多大合适?取大了消息处理不及时,取小了手机cpu上升电池很快耗光。
这个问题最佳解法是采用条件变量,可以比较完美解决问题...
分类:
编程语言 时间:
2014-09-29 22:17:21
阅读次数:
233
TimeUnit是什么? TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep(),在很长一段时间里Thread的sleep()方法作为暂停线程的标准方式,几乎所有...
分类:
其他好文 时间:
2014-09-29 18:54:01
阅读次数:
168
测试中经常出现明明有控件或者文本,但是由于界面没有载入完成或者其他原因导致assert判断的结果失败。或者两次执行,一次成功,一次失败的情况。所以需要加入这些等待某些控件或者文本载入的方法,以加强程序执行的健壮性。sleep是固定长度时间的等待,waitFor则是等待某个控件或者文本载入后再进行下一...
之前的项目里要做一个异步更新UI的功能,但是结果出现了ANR,所以想写个demo来测试到底是哪个地方出现了问题,结果发现原来的思路是没有问题,郁闷~~
现在这个demo 就是模拟项目里面 的步骤
1、接收到系统的广播(现在模拟为人工发送)
2、广播接收到后,handler通知异步线程从网上下载数据,是异步(模拟为sleep)
3、数据下载完后handler再通知UI更新
下面是主...
分类:
移动开发 时间:
2014-09-28 16:32:32
阅读次数:
250
开启新线程new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主线程执行任务 } }).start利用定时器TimerTask task = ...
分类:
移动开发 时间:
2014-09-27 22:23:30
阅读次数:
219
/*注意:使用取消功能要很注意,很多C库函数(有阻塞性质的)也隐含有取消点,比如sleep(),pthread_cond_wait(),而且,取消线程并不能完全释放线程资源,所以编程的时候尽量不要使用取消功能。但是,下面这个情况用 异步取消+join 可以达到终止无限循环线程的目的:*/#inclu...
分类:
其他好文 时间:
2014-09-27 02:19:38
阅读次数:
181
#include #include #include #include #includepthread_rwlock_t mutex; void *thread1(void *arg) { printf("start thread (1)\n"); sleep(2);...
分类:
其他好文 时间:
2014-09-27 00:40:48
阅读次数:
199