当前位置: 首页 > news >正文

做色情网站牟利200万判刑免费发布推广信息的软件

做色情网站牟利200万判刑,免费发布推广信息的软件,番茄网络营销策划方案,外贸网站建设网站前言: 博主昨天在用C#写毕设的时候遇到了一个问题,就是博主的发送命令,需要循环发送,但是要我的接收是有1秒延时,于是就出现了,我循环发送命令,最后只收到了,最后两条命令的值&…

前言:

博主昨天在用C#写毕设的时候遇到了一个问题,就是博主的发送命令,需要循环发送,但是要我的接收是有1秒延时,于是就出现了,我循环发送命令,最后只收到了,最后两条命令的值,于是在一些大佬群里问有没有人会C#的线程锁,得到的答复是这门语言用的人很少,于是博主翻阅资料自学了一下,学了之后就想写出来和大家一起分享一下,除了线程锁,顺带提一下多线程,写的不好,不喜勿喷。

每日一遍,心情愉悦

20190811500332_NCEArh

1.首先看看我们的问题

2021 00_00_00-00_00_30~1

我们可以看到我们的循环得到的值会非常快速的得到答案,但是我在做项目的时候需要这个循环函数等待我的接收答复,于是我们要用到线程锁这方面的知识。

 private static object lockObj = new object();//定义线程锁private int num = 0;private void Test(){while (true){lock (lockObj)//锁住这个代码块{num++;string name = Thread.CurrentThread.Name;//获取线程名textBox1.AppendText(name+"测试:"+num);//这个是TextBox1的追加textBox1.AppendText(System.Environment.NewLine);Thread.Sleep(2000);//将线程挂起,相当于停止2秒if (num>=10)//让这个线程执行10次就退出{break;}}}}

这个是使用单线程完成的效果,private void Test(),我们在定义线程的时候就会在线程Thread(Test)里面定义为Test函数名,代表着,线程跑这个函数,while (true)表示这个线程一直在这里跑直到退锁,lock (lockObj)代表上锁,把这个代码块锁住直到解锁,相当于一直在这运行,只要我们不退锁,博主只是使用break退出,Sleep代表线程挂起,相当于停止等待了。我们使用这个可以实现循环函数等待答复。
20211104_192233 00_00_00-00_00_30~1

单线程只需要建立一个线程就可以啦, while (true)
可以根据自己的实例来定义线程数量,理论上是线程越多,越快,但是也要考虑线程浪费。

//单线程Thread thred1 = new Thread(Test);//定义一个线程thred1.Name = "thred1";//线程名thred1.IsBackground = true;//设置为后台线程就是Truethred1.Start();//开始执行这个线程int n = thred1.ManagedThreadId;//这个线程ID的标识Console.WriteLine(n);

博主再使用多线程操作一下,博主建立了两个线程跑的这个程序,通过看那个name可以看出来,一个Thread1一个Thred2,我们会发现博主的退出的条件是,大于或等于10就退出,理论上应该在10就停止,但是我们使用了两个线程,在第二个线程到达的时候我们的num已经为10了,线程一已经退出了,所以到了11,线程二才退出,

20211104_192935 00_00_00-00_00_30

image-20211104193851220

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Forms;namespace IC00
{public partial class Form1 : Form{public Form1(){System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;//抛 textBox1.AppendText的异常InitializeComponent();}private static object lockObj = new object();//定义线程锁private int num = 0;private void Test(){while (true){lock (lockObj){num++;string name = Thread.CurrentThread.Name;//获取线程名textBox1.AppendText(name+"测试:"+num);//这个是TextBox1的追加textBox1.AppendText(System.Environment.NewLine);Thread.Sleep(2000);//将线程挂起,相当于停止2秒if (num>=10)//让这个线程执行10次就退出{break;}}}}private void button1_Click(object sender, EventArgs e){//单线程Thread thred1 = new Thread(Test);//定义一个线程,运行Testthred1.Name = "thred1";//线程名thred1.IsBackground = true;//设置为后台线程就是Truethred1.Start();//开始执行这个线程int n = thred1.ManagedThreadId;//这个线程ID的标识Console.WriteLine(n);//在控制器打印线程ID//多个线程Thread thred2 = new Thread(Test);thred2.Name = "thred2";thred2.IsBackground = true;thred2.Start();int m = thred2.ManagedThreadId;Console.WriteLine(m);//在控制器打印线程ID,看是否是一个线程}}
}

使用双线程可以提高我们输出的速度,多线程的使用可以大大加快我们的速率。

自我总结:

这个问题是我写毕设遇到的一个难题,开始不知道需要使用线程,然后通过查阅资料,使用了线程锁,其实我用的并不怎么熟但是只要自己愿意学习,是可以学会的,人嘛,总是要不断的进步,才能不迷茫,有些事情需要靠自己。好了,今天的分享就到这里。哈哈哈

20190724912442_FIJlny

http://www.lbrq.cn/news/2542591.html

相关文章:

  • 大理如何做百度的网站百度点击软件名风
  • 微信网站建设协议seo公司厦门
  • 询价网站哪个好电子商务专业就业方向
  • 青海省公路工程建设信息网站网站搭建模板
  • 网站建设之织梦后台熊掌号主页新网站seo外包
  • 河南旅游网站建设企业网站的类型
  • fomo3d 网站怎么做深圳网络推广营销公司
  • 绍兴的网站建设公司品牌推广的目的和意义
  • 华为认证培训机构排行榜seo联盟
  • 苏州城乡和住房建设局网站首页百度云网盘网页版
  • 黄冈网站免费投放平台免费下载合肥做网站推广
  • 网站正在建设中......小程序seo推广技巧
  • 重点专业建设网站 建设方案长沙网站制作推广
  • 做网站学哪方面知识如何建立网站
  • 什么是网络社交郑州seo多少钱
  • 在线做图表的网站百度seo费用
  • 东昌网站建设网店代运营靠谱吗
  • 模特公司网站源码百度网址大全网站大全
  • 免费印章在线制作免费seo网站优化工具
  • 品牌官方网站建设快速排名优化系统
  • 网站建设-易速通科技一站式海外推广平台
  • 怎么做企业功能网站友情链接图片
  • 必应收录提交入口邯郸seo优化
  • 房地产新闻最近怎么进行网站关键词优化
  • 网站制作哪家公司好写软文平台
  • 网站开发预算编制常见的搜索引擎
  • 靓号注册网站免费seo推广优化公司哪家好
  • 做网站还是微信小程序百度24小时人工电话
  • 北京网站设计公司哪家公司好互联网
  • wordpress+3.2.1漏洞seo优化技巧有哪些
  • 用 JavaSwing 开发经典横版射击游戏:从 0 到 1 实现简易 Contra-like 游戏
  • linux中posix消息队列的使用记录
  • Python单例类、元类详解
  • 哈希的概念及其应用
  • AI 安监系统:为工业园安全保驾护航
  • jmeter读取上游接口并遍历数组数据并进行压测