Synchronizationsynchronized语法可以获取锁,
当其他线程持有锁的时候该线程想要获取锁将会进入等待状态, 直到没有其他线程持有该锁显示使用 synchronized (lock)
将会获取lock对象的锁没有显示指定锁对象将会获取当前类的class对象的锁Wait and N...
分类:
编程语言 时间:
2014-05-08 12:20:52
阅读次数:
327
应用多线程互斥锁之前首先简单过一下C程序可能用到的3个创建线程函数: CreateThread,windows系统提供的唯一创建线程API,_beginthread和_beginthreadex都在内部调用了CreateThread,直接调用该函数创建多线程的C程序存在内存泄露的可能性,通常不推荐....
分类:
编程语言 时间:
2014-05-08 11:29:24
阅读次数:
2551
1.main函数C程序总是从main函数开始执行,当内核执行C程序时,在调用main函数之前先调用exec函数从内核获取命令行参数和环境变量值2.进程终止正常终止:(1)在main函数内执行return语句(2)调用exit(3)最后一个线程从其启动例程返回(4)最后一个线程调用pthread_ex...
分类:
其他好文 时间:
2014-05-08 11:28:22
阅读次数:
300
又时候感觉在学习英语一样后,语法啊这些,那些地方该用,那些地方不该用,等等
活学活用吧,好快,感觉时间过得好快马上又是周四了。 线程的八个状态: 四个基本状态:新建, 就绪, 运行, 死亡。
运行:1.睡眠(sleep,自然醒),2.等待(wait ,被叫醒),3.挂起(yield, 让...
分类:
编程语言 时间:
2014-05-08 10:29:15
阅读次数:
303
什么是线程同步?
当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。
实现同步机制有两个方法: 1。同步代码块: synchronized(同一个数据){} 同一个数据:就是N条线程同时访问一个数据。 ...
分类:
其他好文 时间:
2014-05-08 10:15:37
阅读次数:
244
1、协同程序,一个具有多个协同程序的程序在任意时刻,只能运行一个协同程序,
只有正在运行的协同程序被挂起时,它的执行才会暂停。
创建
co = coroutine.create(匿名函数); -- 匿名函数就是线程要执行的东东
状态
coroutine.status(co);
唤醒
coroutine.resume(co);
挂起
coroutine.yie...
分类:
其他好文 时间:
2014-05-08 00:21:05
阅读次数:
367
线程控制
线程属性
调用pthread_create函数的例子中,传入的参数都是空指针,而不是指向pthread_attr_t结果的指针。可以用pthread_attr_t结构修改线程默认属性,并把这些属性与创建的线程联系起来。可以使用pthread_attr_init函数初始化pthreaad_attr_t结构。调用pthread_attr_init以后,pthread_attr_t结构所...
分类:
编程语言 时间:
2014-05-07 21:41:14
阅读次数:
501
1、环境
tomcat6.0.8 + jdk6 + struts1
2、问题的产生
页面有两个异常的请求
http://127.0.0.1/project/a.action?do=testA&m=10
http://127.0.0.1/project/a.action?do=testB&m=10
两个请求几乎同步到达server。结果出现异常:
java.lang.NullP...
分类:
编程语言 时间:
2014-05-07 21:36:43
阅读次数:
344
下面的两个线程共享一个消息队列,一个用来放整数到队列,一个从队列里取消息出来。此程序在控制台不停的输出递增数字,主要是内存不会泄露
用到了多线程、ACE_Message_Queue、ACE_Message_Block、ACE_Thread_Manager::instance()->spawn等
#include
using namespace std;
#include "boost/lex...
分类:
其他好文 时间:
2014-05-07 21:29:38
阅读次数:
476