51CTO博客开发李华明Himi
当你第一次启动一个Android程序的时候,一个被称为"main"的线程就被自动创建了。它被称为主线程或者UI线程,它是非常重要的因为负责分发事件给对应的widget,还包含画图的事件。主线程贯穿用户和Android widget的交互的整个过程。例如,你触摸了屏幕上的按钮(Button),UI线程派发(dispatch)触摸(touch)事件给widget,widget设置为按下状态并向事件队列
1.tomcat目录 初学tomcat,下面对tomcat目录做个记录 bin:存放启动和关闭Tomcat的脚本文件conf:存放Tomcat服务器的各种配置文件lib:存放Tomacat服务器的支撑jar包logs:存放Tomcat的日志文件temp:存放Tomcat运行时产生的临时文件webapps:web应用
Git是现在最流行的版本控制系统之一了,今天也试试了,成功了上传了远程仓库,接下来看看我是怎么做的。 1、首先,要有git的账号,点击查看怎么注册? 2、注册成功之后,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:在Repos
Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态)。对于Activity,关键是其生命周期的把握(如
package com.example.key;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.view.Menu;import android.view.View;import android.widget.Button;import androi
Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET、POST、PUT、DELETE。一个URL地址用于描述一个网络上的资源,而HTTP中的GET、POST、PUT、 DELETE就对应着对这个资源的查、改、增、删4个操作,我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 HTTP头信息解读 HTTP的头域包括通用头、请求
最近找到一篇很好的文章将linux多线程函数pthread_cond_wait,是我茅塞顿开,豁然开朗,决定转载过来,以便经常复习记忆。 条件变量的结构为pthread_cond_t,函数pthread_cond_init()被用来初始化一个条件变量。它的原型为: extern int pthread_cond_init __P ((pthread_cond_t *__cond,__c
// 参数说明: // in, 源字符串 // out, 存放最后结果的字符串 // outlen,out最大的大小 // src,要替换的字符串 // dst,替换成什么字符串 /******************************************************************** &nbs
信号量、同步这些名词在进程间通信时就已经说过,在这里它们的意思是相同的,只不过是同步的对象不同而已。但是下面介绍的信号量的接口是用于线程的信号量,注意不要跟用于进程间通信的信号量混淆,关于用于进程间通信的信号量的详细介绍可以参阅我的另一篇博文:Linux进程间通信——使用信号量。相似地,线程同步是控制线程执行和访问临界区域的方法。一、什么是信号量线程的信号量与进程间通信中使用的信号量的概念是一样,
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。1)互斥锁(mutex) 通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。int pthread_mutex_init(pthread_mutex_t *mutex,const pthre
总结:当变量作为函数的参数时,函数内修改的是形参,实参不变化;(swap(int a, int b)) 当指针作为函数的参数时,函数内:若修改指针变量,实参指针指向变量不变。若修改指针指向,实参指针指向的变量变化。(swap(int *a, int *b)) 当二级指针为函数的参数时,函数内,修改一级指
最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误。一时也不能说得很明白,网上也搜了一下相关文章发现一些写的比较好的,综合了一下当教育资料备用。 char *s1 = "hello";char s2[] = "hello"; 【区别所在】char *s1 的s1,而指
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号