Delphi的线程可以通过调用AThread.Synchronize(AProc),可以将Proc放入主线程中同步运行,此时AThread将挂起,直到主线程执行完AProc。如果有BThread,调用了BThread.Synchronize(BProc),而BProc中释放了AThreadproce...
分类:
编程语言 时间:
2014-09-10 22:18:51
阅读次数:
214
Delphi写的DLL,OCX中如果使用了TThread.Synchronze(Proc),可能导致线程死锁,原因是无法唤醒EXE中主线程,Synchronze并不会进入EXE主线程消息队列.下面的程序自动解决此问题,只需要加入DLL,OCX工程文件中,在DLL,OCX中便可以使用TThread.S...
分类:
编程语言 时间:
2014-09-10 22:18:31
阅读次数:
306
思路主线程负责发送消息,另一线程负责接收消息。服务端和客户端均是如此。注意当A方close掉用于通信的socket端口后,该端口是不会立即关闭的。因为此时可能B方的信息还没send完。因此,此时A方的recv仍旧处于阻塞状态,会最后再等待收一次信息。此时,当B方send一个信息给A后,A方recv到...
分类:
其他好文 时间:
2014-09-10 12:20:40
阅读次数:
219
1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵。这个消息泵让windows程序生生不息。 Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源。这里的While循环使用了GetMessage() 这个方法,这是个阻塞方....
1:进程和线程
进程:运行一个程序,程序在内存分配了运行空间。在内存起了一个进程。
线程:在进程中运行。多个线程之间可以进行相互的切换。
主线程
子线程:子线程都是从主线程中分配出来的。
2:主线程的重要性。
3:在Java中创建多线程
1:继承Thread类:
2:实现Runable接口:
继承Thre...
分类:
编程语言 时间:
2014-09-07 09:50:45
阅读次数:
225
ANRs (“Application Not Responding”),意思是”应用没有响应“。在如下情况下,Android会报出ANR错误:– 主线程 (“事件处理线程” / “UI线程”) 在5秒内没有响应输入事件– BroadcastReceiver 没有在10秒内完成返回通常情况下,下面这些...
分类:
移动开发 时间:
2014-09-06 01:01:22
阅读次数:
264
1,1个main, 包含2个while,不要被两个while中的sleep所迷惑,这里只有main()这一个主线程(进程)在运行,程序会按照自上而下顺序执行。遇到第1个while循环中的sleep时,本线程暂停执行,交给其它线程处理,但是因为该进程只有一个线程,所以只有静静的sleep到指定时间(1...
分类:
系统相关 时间:
2014-09-06 00:59:42
阅读次数:
369
在Windows Form Application中,异常若最终得不到处理,则会触发AppDomain.CurrentDomain.UnhandledException事件进行以进行最终的异常记录(使用此事件无法避免应用程序的终结)。在此事件被触发之前,分以下情况可决定是否将异常继续传播。主线程使用...
分类:
移动开发 时间:
2014-09-05 19:42:21
阅读次数:
180
Service组件想必都不陌生,这里不费口舌了。强调一点,Service组件默认运行在UI线程,所以也是会阻塞主线程的,使用时切记不可在Service中执行耗时操作,而应该创建子线程,异步执行。
IntentService类封装了在Service中创建子线程的工作(其实创建的是HandlerThread),我们只需继承IntentService,复写其onHandleIntent方法即可,o...
分类:
移动开发 时间:
2014-09-05 01:03:30
阅读次数:
365
本文由PurpleSword(jzj1993)原创,转载请注明
原文网址 http://blog.csdn.net/jzj1993
安卓主线程(UI线程)是线程不安全的:对UI控件的操作都应在主线程中完成;UI线程不应执行耗时操作,以免程序不响应(即ANR异常)
实现新线程的常用方法(注意要调用start方法启动新线程而不是run方法):
...
分类:
移动开发 时间:
2014-09-04 22:20:50
阅读次数:
254