码迷,mamicode.com
首页 >  
搜索关键字:多线程 条件线程    ( 22675个结果
java中关键字volatile的作用
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上...
分类:编程语言   时间:2014-07-09 19:38:00    阅读次数:218
Interlocked.Increment 方法 和Interlocked.Decrement 方法作用
Interlocked.Increment 方法:让++成为原子操作;Interlocked.Decrement 方法让--成为原子操作。什么叫原子操作呢。就是不会被别人打断,因为C#中的一个语句,编译成机器代码后会变成多个语句。在多线程环境中,线程切换有可能会发生在这多个语句中间。使用Interl...
分类:其他好文   时间:2014-07-09 19:25:39    阅读次数:206
使用NSURLConnection的网络请求与封装
访问网络的方式: 1、同步请求: 会阻塞主线程 2、异步请求: 无法取消 请求过程在多线程执行   基本流程: 1、构造NSURL实例。 2、生成NSURLRequest请求。 3、通过NSURLConnection发送请求。 4、通过NSURLRespond实例和NSError实例分析结果。 5、接受返回数据。 使用NSURLConnection发起异步请求: 第一...
分类:其他好文   时间:2014-07-09 09:23:33    阅读次数:126
多线程中简单的++操作,所引发的思考
一句简单的g_nLoginCount++操作,转换成汇编语言就成了上面的三句话,假如现在我们有两个线程,当第一个线程执行到第二个汇编时,此时第二个线程启动,他又从内存中读取g_nLoginCount,但这时第一个线程已经将g_nLoginCount做了加法操作,只是没有将其移回内存,这样的话...
分类:编程语言   时间:2014-07-09 00:58:04    阅读次数:189
【Java集合源码剖析】Hashtable源码剖析
Hashtable简介 Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 Hashtable也是JDK1.0引入的类,是线程安全的,能用于多线程环境中。 Hashtable同样实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆。...
分类:编程语言   时间:2014-07-08 21:17:22    阅读次数:227
Linux高性能服务器编程——多线程编程(上)
多线程编程 Linux线程概述 线程模型         线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体。根据运行环境和调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上也称为LWP(Light Weigth Process,轻量级进程),运行在内核空间,由内核来调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并...
分类:编程语言   时间:2014-07-08 19:45:08    阅读次数:219
在VC6.0中多线程编程示例(带同步信号量)
直接上代码:#include //必要的头文件,使用Windows API函数 #include int index = 0; int tickets = 100;//票数 HANDLE hMutex; //使用全局的互斥对象来保证对同一资源的互斥访问与操作这里是tickets //线程处理函数原型,形式可从MSDN中拷贝 //线程1 的入口函数 DWORD WINAPI Fun1Proc...
分类:编程语言   时间:2014-07-08 17:12:03    阅读次数:239
Linux高性能服务器编程——多线程编程(下)
多线程编程 条件变量 如果说互斥锁是用于同步线程对共享数据的访问的话,那么条件变量则是用于线程之间同步共享数据的值。条件变量提供了一种线程间的通信机制:当某个共享数据达到某个值得时候,唤醒等待这个共享数据的线程。 条件本身是由互斥量保护的。线程在改变条件状态前必须首先锁住互斥量,其他现成在获得互斥量之前不会察觉到这种变化,因为必须锁住互斥量以后才能计算条件。...
分类:编程语言   时间:2014-07-08 15:06:42    阅读次数:249
一种基于Qt的可伸缩的全异步C/S架构服务器实现(六) 整合各个模块实现功能
在前面的章节中,介绍了网络传输、任务线程池、数据库和集群四个主要功能模块。到现在为止,这些模块都还只是一种资源,没有产生实际的运行效果。对一个具备真实功能的应用来说,需要有一个整合的过程。整合方法很多,本例里以典型的客户 -客户通信来举例说明。在最上层,有一个本服务器进程的管理者,称作st_client_table,用于封装所有的服务功能。这个类在每个服务器进程中仅有一个实例。它主要的工作有: (1) 提供一个盛放、管理各个客户端节点类(st_clientNodeAppLayer实例)、各个集群服务器...
分类:其他好文   时间:2014-07-08 13:31:26    阅读次数:262
利用httpclient和多线程刷访问量代码
缘起于玩唱吧,因为唱吧好友少,访问量低,又不想加什么亲友团之类的,主要是太麻烦了,于是我就琢磨唱吧的访问机制,准备用java的httpclient库来进行刷访问量,想到动态IP重复使用就想到了用多线程来进行刷,但发现速度并没有增快,仍然是刷完一个网址刷下一个网址,这里刷的顺序是随机的。 主要让人伤脑筋的是那代理IP,去网上找了1000多个IP,有好多都是响应速度太慢了,以至于我设定了超时机制,超过...
分类:编程语言   时间:2014-07-08 12:46:04    阅读次数:279
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!