真正的多线程是具有抢占式和内存共享两个特点,这也是导致多线程同步问题的根本原因。而lua中的线程并不存在这个问题,首先lua的线程的状态并不共享内存,其次lua的线程是协同工作的,并非抢占式的。 主线程:lua_State* L = luaL_newstate() 不仅创建了一个lua状态,还创建了 ...
分类:
编程语言 时间:
2016-07-12 19:28:27
阅读次数:
154
??
消息都是存放在一个消息队列中去,而消息循环线程就是围绕这个消息队列进入一个无限循环的,直到线程退出。如果队列中有消息,消息循环线程就会把它取出来,并分发给相应的Handler进行处理;如果队列中没有消息,消息循环线程就会进入空闲等待状态,等待下一个消息的到来。在编写Android应用程序时,当程序执行的任务比较繁重时,为了不阻塞UI主线程而导致ANR的发生,我们通常的做法的创建一个子线程来...
分类:
移动开发 时间:
2016-07-12 12:17:21
阅读次数:
247
使用委托进行异步操作,处理一些耗时操作,防止主线程阻塞 使用例子: 上述代码运行结果: ...
分类:
其他好文 时间:
2016-07-11 23:42:46
阅读次数:
171
http://www.cnblogs.com/plokmju/p/android_AsyncTask.html AsyncTask,异步任务,可以简单进行异步操作,并把执行结果发布到UI主线程。AsyncTask是一个抽象类,它的内部其实也是结合了Thread和Handler来实现异步线程操作,但是 ...
分类:
移动开发 时间:
2016-07-10 23:15:40
阅读次数:
256
/*线程练习创建两个线程,与主线程交替运行*/class Text extends Thread{ private String name; Text(String name) { this.name=name; } public void run() { for(int i=0;i<60;i++) ...
分类:
编程语言 时间:
2016-07-10 18:15:22
阅读次数:
111
http://www.cnblogs.com/plokmju/p/android_Handler.html android不允许在主线程里做耗时操作,如网络操作,以此来避免ANR ANR(Application Not Responding) http://baike.baidu.com/link? ...
分类:
移动开发 时间:
2016-07-10 16:54:52
阅读次数:
248
1 编写handle和setActivityresult来跟更数据写起来太麻烦,简单的介绍一下eventbus,直接来把,不用讲那么多原理 2 首先在ONcreate 里面注册 然后写跟新function。 注意这里要跟新ui 说有 用了 threadmode.main 在ui 主线程中去跟新 3 ...
分类:
其他好文 时间:
2016-07-09 16:13:39
阅读次数:
106
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
使用的优点:
l 简单,快捷
l 过程可控
使用的缺点:
l 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来.
2 )Handler异步实...
分类:
移动开发 时间:
2016-07-08 11:55:06
阅读次数:
374
1、AsyncTask常用于进行耗时操作,完成后更新主线程的UI。 2、缺陷:AsyncTask中维护着一个长度为128的线程池,同时可以执行5个工作线程,还有一个缓冲队列,当线程池中已有128个线程,缓冲队列已满时,如果 此时向线程提交任务,将会抛出RejectedExecutionExcepti ...
分类:
其他好文 时间:
2016-07-08 01:32:25
阅读次数:
133
async 定义的方法会开启新线程执行, 不会阻塞主线程. await 生命的方法, 会将在其之后的code 打包成委托, 在完成后执行打包的代码. public A() { B(); C(); } public async void B() { var result = await D(); E( ...
分类:
其他好文 时间:
2016-07-07 19:23:40
阅读次数:
129