同步线程 异步线程 并行问题???

问题描述

C#:我现在有两个窗体,form1显示进度条,form2创建需要花10秒左右才完成。问题:怎样在让两窗体同时运行而不假死?补充:尝试过同步线程和异步线程,但都是form2创建时,form1不发生重绘,出现进度条假死。请问有什么好的解决办法吗?最好给个简单demo

解决方案

解决方案二:
先把你怎么处理的说说,别上来就伸手要代码
解决方案三:
同步还是异步,都是在主线程里操作。请把这个操作分到两个线程里去操作,谢谢。
解决方案四:
首先你自己开启一个线程来做form2的初始化工作,这个初始化工作本身是要能够提供进度信息的。每次提供进度信息的时候做一个回调,回调里面去更新form1.个人觉得form2的创建不要放到别的线程里面,最好是和form1一个线程。放到另外一个线程的操作只是你的初始化工作。
解决方案五:
首先你自己开启一个线程来做form2的初始化工作,这个初始化工作本身是要能够提供进度信息的。每次提供进度信息的时候做一个回调,回调里面去更新form1.个人觉得form2的创建不要放到别的线程里面,最好是和form1一个线程。放到另外一个线程的操作只是你的初始化工作。
解决方案六:
首先你自己开启一个线程来做form2的初始化工作,这个初始化工作本身是要能够提供进度信息的。每次提供进度信息的时候做一个回调,回调里面去更新form1.个人觉得form2的创建不要放到别的线程里面,最好是和form1一个线程。放到另外一个线程的操作只是你的初始化工作。

时间: 2024-08-09 11:11:03

同步线程 异步线程 并行问题???的相关文章

用GCD线程组与GCD信号量将异步线程转换为同步线程

有时候我们会碰到这样子的一种情形: 同时获取两个网络请求的数据,但是网络请求是异步的,我们需要获取到两个网络请求的数据之后才能够进行下一步的操作,这个时候,就是线程组与信号量的用武之地了. #import "ViewController.h" #import <AFNetworking.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [supe

并发、并行、同步、异步、阻塞、非阻塞

最近在写爬虫 ,对于这几个概念比较模糊,所以特意学习了一下. 进程(process):进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进 行资源分配和调度的一个独立单位. 线程(thread):线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的 基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存 器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线

Java线程:线程的同步

一.同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏. 例如:两个线程ThreadA.ThreadB都操作同一个对象Foo对象,并修改Foo对 象上的数据. public class Foo { private int x = 100; public int getX() { return x; } public int fix(int y) { x = x - y; return x; } } public class MyRunnable implements

Java线程:线程的同步-同步方法

线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源.什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题? 在本文之前,请参阅<Java线程:线程的同步与锁>,本文是在此基础上所写的. 对于同步,在具体的Java代码中需要完成一下两个操作: 把竞争访问的资源标识为private: 同步哪些修改变量的代码,使用synchronized关键字同步方法或代码. 当然这不是唯一控制并发安全的途径. synch

Java线程:线程的同步-同步块

追其同步的根本的目的,是控制竞争资源的正确的访问,因此只要在访问竞争资源的时候保证同一时刻只能一个线程访问即可,因此Java引入了同步代码快的策略,以提高性能. 在上个例子的基础上,对oper方法做了改动,由同步方法改为同步代码块模式,程序的执行逻辑并没有问题. /** * Java线程:线程的同步-同步代码块 * * @author leizhimin */ public class Test { public static void main(String[] args) { User u

多线程-没有加同步出现了线程死 但是即使不加同步,也不会产生死锁的呀!!! 求大神

问题描述 没有加同步出现了线程死 但是即使不加同步,也不会产生死锁的呀!!! 求大神 package com.thread; public class ThreadCommunicationDeadLock { public static void main(String[] args) { Resource resource=new Resource(); Thread t1=new Thread(new Producer(resource)); Thread t2=new Thread(ne

Java基础-23总结多线程,线程实现Runnable接口,线程名字获取和设置,线程控制,线程安全,同步线程

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:多线程(理解) (1)多线程:一个应用程序有多条执行路径 进程:正在执行的应用程序 线程:进程的执行单元,执行路径 单线程:一个应用程序只有一条执行路径 多线程:一个应用程序有多条执行路径 多进程的意义? 提高

线程入门-线程同步浅析

前言 刚实习的时候,当遇到数据量大并对效率要求高的业务时,就开始尝试学习如何使用多线程来处理.现在与大家分享一下.大家说到多线程,总有一个绕不开的问题,就是如何实现多线程的同步.大致总结了2个大家常用的方式:synchronized关键字与java.util.concurrent.locks.Lock接口. synchronized关键字 synchronized关键字一般作用于代码块或者方法.根据场景又有所不同. synchronized作用于代码块时 synchronized(this) 这

同步,异步,多线程,你怎么看?

原文:同步,异步,多线程,你怎么看?[原创] 讲解同步与异步的帖子多如牛毛,个人的理解,简单地说同步就是串行,异步就是并行.同步的情况下,A调用B,A等B执行完成后接着执行,自始至终只有一个线程在运行:而异步时,A调用B,B执行,A也继续执行,这个过程中有两个线程在运行.本文通过winform下的一个实例讲解同步与异步的差别,本文的例子很简单,适合初学者. 1.同步 大家应该经常碰到这种情况,点击界面上某个按钮或者某个控件后界面卡死的情况,个人觉得其中一个原因可能是主线程的问题,界面主线程在后台