社区
C#
帖子详情
线程中满足条件时如何操作
ssun1999
2007-04-03 12:25:24
public Thread t;
public void dd2()
{
t=new Thread(new ThreadStart(dd3));
t.Start();
t.Join(100);
}
public void dd3()
{
//处理事件。。。。。
if (s=="1")
{
this.Show();
}
}
当启动线程后处理事件满足条件后显示Form,
事件不满足时或错误食忽略。
...全文
226
5
打赏
收藏
线程中满足条件时如何操作
public Thread t; public void dd2() { t=new Thread(new ThreadStart(dd3)); t.Start(); t.Join(100); } public void dd3() { //处理事件。。。。。 if (s=="1") { this.Show(); } } 当启动线程后处理事件满足条件后显示Form, 事件不满足时或错误食忽略。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ssun1999
2007-04-03
打赏
举报
回复
...........
ssun1999
2007-04-03
打赏
举报
回复
........
ssun1999
2007-04-03
打赏
举报
回复
这有关系码(和线程的优先级
)
zhangliu_521
2007-04-03
打赏
举报
回复
static void Main(string[] args)
{
Thread t1 = new Thread(new ThreadStart(Thread1));
Thread t2 = new Thread(new ThreadStart(Thread2));
t1.Priority = ThreadPriority.BelowNormal ;
t2.Priority = ThreadPriority.Lowest ;
t1.Start();
t2.Start();
}
public static void Thread1()
{
for (int i = 1; i < 1000; i++)
{//每运行一个循环就写一个“1”
dosth();
Console.Write("1");
}
}
public static void Thread2()
{
for (int i = 0; i < 1000; i++)
{//每运行一个循环就写一个“2”
dosth();
Console.Write("2");
}
}
public static void dosth()
{//用来模拟复杂运算
for (int j = 0; j < 10000000; j++)
{
int a=15;
a = a*a*a*a;
}
}
以上程序运行结果为:
11111111111111111111111111111111111111111121111111111111111111111111111111111111111112
11111111111111111111111111111111111111111121111111111111111111111111111111111111111112
11111111111111111111111111111111111111111121111111111111111111111111111111111111111112
从以上结果我们可以看出,t1线程所占用CPU的时间远比t2的多,这是因为t1的优先级比t2的高,若我们把t1和t2的优先级都设为Normal,那结果是如何?它们所占用的CPU时间会一样吗?是的,正如你所料,见下图:
121211221212121212121212121212121212121212121212121212121212121212121
212121212121212121212121212121212121212121212121212121212121212121212
121212121212121212
ssun1999
2007-04-03
打赏
举报
回复
ding
Python 多
线程
操作
Python 多
线程
操作
什么是
线程
:
线程
(Thread)也叫轻量级进程,是
操作
系统能够进行运算调度的最小单位,它被包涵在进程之
中
,是进程
中
的实际运作单位。
线程
自己不拥有系统资源,只拥有一点儿在运行
中
必不可少的资源,但它可与同属一个进程的其它
线程
共享进程所拥有的全部资源。一个
线程
可以创建和撤消另一个
线程
,同一进程
中
的多个
线程
之间可以并发执行。 举个简单的例子来理解下: 假定有一 7 ...
线程
同步
中
条件变量和信号量的区别
它通常与互斥锁结合使用,当条件不满足
时
,
线程
可以调用 `pthread_cond_wait` 函数进入等待状态,并释放互斥锁,直到其他
线程
满足了条件并调用 `pthread_cond_signal` 或 `pthread_cond_broadcast` 来通知等待的
线程
。- 条件变量:
线程
在等待条件变量
时
,会主动进入等待状态,直到其他
线程
发出通知(`pthread_cond_signal` 或 `pthread_cond_broadcast`)后才会被唤醒。
线程
中
的条件变量
当一个
线程
互斥的访问某个变量
时
,它可能发现在其他
线程
改变状态之前,它什么也做不了。例如,一个
线程
访问队列
时
,发现队列为空,它只能等待,直到其它
线程
将一个节点添加到队列
中
,这种情况就需要用到条件变量。一、条件变量函数 (1)初始化 int pthread_cond_init(pthread_cond_t *restrict cond, const pthread_condatrr_t *restr
什么是
线程
间的竞争条件?如何避免竞争条件?什么是
线程
安全性问题?如何解决
线程
安全性问题?
线程
间的竞争条件是指多个
线程
同
时
访问和修改共享资源
时
可能出现的问题。当多个
线程
同
时
操作
共享资源
时
,其执行顺序和
时
机是不确定的,这就可能导致竞争条件的发生。要避免竞争条件,可以采取以下几种方法:互斥访问:通过使用互斥锁或信号量等机制,确保在任意
时
刻只有一个
线程
可以访问共享资源。当一个
线程
在使用资源
时
,其他
线程
需要等待。同步访问:通过使用条件变量或事件等机制,确保
线程
之间的协调和通信。例如,一个
线程
在修改共享资源后,可以通知其他
线程
继续执行。
线程
安全与原子
操作
线程
安全与原子
操作
线程
安全是多
线程
编程
时
的计算机程序代码
中
的一个概念。在拥有共享数据的多条
线程
并行执行的程序
中
,
线程
安全的代码会通过同步机制保证各个
线程
都可以正常且正确的执行,不会出现数据污染等意外情况。
线程
安全与原子
操作
概述 安全性 举例 安全程度 不可变
线程
安全 有条件的
线程
兼容
线程
对立 原子
操作
概述 如果你的代码所在的进程
中
有多个
线程
在同
时
运行,...
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章