RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

全部问题

Martin Hope
Ruben Kubalyan
Asked: 2020-09-19 22:07:39 +0000 UTC

Java 多线程(用于创建单独/新线程的机制)

  • 9

我会提前说,下面会有一些水,因为我会在下面尽可能准确和清楚地描述我的问题的本质。

这个问题可能看起来很简单,但这不是关于如何以传统方式创建流,以及应该使用什么。我需要了解 Java 如何基于 Thread、Runnable 以及 run() 和 start() 方法创建单独的线程。

从某种意义上说,好吧,只是理论上,让我们度过美好的一天,我想编写这样一个类,类似于 Thread 但不是从 Thread 本身继承,而是创建一个单独的类,以某种方式尝试使其成为与 Thread 相同,因此它本身可以在没有 Thread 和 Runnable 的帮助下创建或简单地帮助创建新线程,就像 Thread 对 Runnable 所做的那样。

我将为此做些什么?好吧,或者只是问题的本质:Thread 如何设法与 Runnable 一起创建一个单独的线程?

我对在程序中创建和包含新线程的过程的机制很感兴趣。

另外:请务必在您的回答中指出创建新线程的机制与创建和调用线程的 main () 方法有何不同。

java
  • 2 个回答
  • 10 Views
Martin Hope
V-Mor
Asked: 2020-08-23 15:12:36 +0000 UTC

为什么 C++ 可以将 int* 转换为 const int* 而不能转换为 **?

  • 9

有这样的代码(什么都不做,它只是举例):

#include <iostream>

using namespace std;

int f(const int *)
{
    return 0;
}

int main() 
{
    int * x = new int;
    f(x);

    getchar();
    return 0;
}

在这里(在上面的代码中)一切正常。

但在这段代码中:

#include <iostream>

using namespace std;

int f(const int **) // Добавил ещё одну *
{
    return 0;
}

int main() 
{
    int * x = new int;
    f(&x); // Теперь передаю адрес указателя

    getchar();
    return 0;
}

Visual Studio 引发错误:

"int f(const int **)": невозможно преобразовать аргумент 1 из "int**" в "const int **"

我不明白和之间的根本区别是什么。为什么一个转换没有问题,而另一个没有?int*int**

c++
  • 1 个回答
  • 10 Views
Martin Hope
user285021
Asked: 2020-07-07 12:13:36 +0000 UTC

如何从第三个元素:2,3,4,0,1 开始循环遍历整个数组 [0,1,2,3,4]?

  • 9

[0,1,2,3,4]如何从第三个元素开始循环遍历整个数组: 2,3,4,0,1?

javascript
  • 3 个回答
  • 10 Views
Martin Hope
helloworld
Asked: 2020-07-03 04:15:17 +0000 UTC

如何停止颤抖

  • 9

我写了一些类似网格的东西,但脚本只工作了一半。 如果你点击某个地方然后松开,网格会尝试恢复,就像按下之前一样,但尝试会失败,所有的方块都会继续颤抖。

我的问题是如何停止抖动? 我完全不知道该怎么做。

<!DOCTYPE html>
<html>
<head>
	<title>.</title>
	<meta charset="UTF-8">
</head>
<body style="margin: 0">
	<canvas id="can" style="display: block"></canvas>
	<script type="text/javascript">
		function getId(o) {return document.getElementById(o)};
		let can = getId('can'), ctx = can.getContext('2d'), rnd = (min, max) => Math.floor(Math.random() * ((max + 1) - min) + min),
		walls = [], mouse = {
			x: 0,
			y: 0,
			down: false
		},
		Wall = class {
			constructor(x, y, width, height, color, speed, nativePosition) {
				this.x = x,
				this.y = y,
				this.width = width,
				this.height = height,
				this.color = color,
				this.speed = speed,
				this.nativePosition = nativePosition,

				this.velocity = {
					x: 0,
					y: 0,
					friction: .9
				}
			}
		}, size = {
			width: 25,
			height: 25
		};

		for(let x = 0; x < innerWidth / size.width; x++) {
			for(let y = 0; y < innerHeight / size.height; y++) {
				walls.push( new Wall(x * size.width, y * size.height, size.width, size.height, "#555", rnd(2, 4), {x: x * size.width, y: y * size.height}) )
			}
		};

		onresize = e => {
			can.width = innerWidth;
			can.height = innerHeight
		};
		onresize();
		can.style.background = "#000";

		document.onmousemove = e => {
			mouse.x = e.clientX;
			mouse.y = e.clientY
		};
		document.onmousedown = () => mouse.down = true;
		document.onmouseup = () => mouse.down = false;

		(loop = () => {
			ctx.fillStyle = "#0003";
			ctx.fillRect(-3e38, -3e38, 3e38 * 2, 3e38 * 2);

			walls.forEach(wall => {
				if(mouse.down) {
					let a = mouse.x - wall.x - wall.width / 2,
					b = mouse.y - wall.y - wall.height / 2,

					len = Math.sqrt(a * a + b * b), speed = wall.speed;

					a = a / (len ? len : 1) * speed;
					b = b / (len ? len : 1) * speed;

					wall.velocity.x *= wall.velocity.friction;
					wall.velocity.y *= wall.velocity.friction;

					wall.velocity.x += a;
					wall.velocity.y += b;

					wall.x += wall.velocity.x;
					wall.y += wall.velocity.y
				} else {
					let a = wall.nativePosition.x - wall.x,
					b = wall.nativePosition.y - wall.y,

					len = Math.sqrt(a * a + b * b), speed = wall.speed;

					a = a / (len ? len : 1) * speed;
					b = b / (len ? len : 1) * speed;

					wall.velocity.x *= wall.velocity.friction;
					wall.velocity.y *= wall.velocity.friction;

					wall.velocity.x += a;
					wall.velocity.y += b;

					wall.x += wall.velocity.x;
					wall.y += wall.velocity.y
				};

				ctx.strokeStyle = wall.color;
				ctx.strokeRect(wall.x, wall.y, wall.width, wall.height)
			});

			requestAnimationFrame(loop)
		})();
	</script>
</body>
</html>

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Андрей
Asked: 2020-06-27 09:46:05 +0000 UTC

写入 File.WriteAllLines 时丢失数据

  • 9

数据所在的文件中有一个文件data1,全名和地址在变量中FullFileName。我正在向这个文件写入新数据,File.WriteAllLines(FullFileName, data2); 如果写入过程中出现错误,例如媒体空间已用完,会发生什么?文件会是空的,里面会有数据data1,还是部分数据data2?

c#
  • 1 个回答
  • 10 Views
上一页
下一页

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5